卷发对wget有什么不同?我试图通过url访问一个安全的网页
https://username:password@website.com
然而,这似乎并没有让我直接进入页面。如果我在wget上使用相同的url
wget https://username:password@website.com
我得到了一个ERROR 403: Forbidden
。如果我使用curl尝试相同的命令
curl https://username:password@website.com
请求成功。这两个命令有什么不同呢?我想做任何卷曲,但从浏览器网址。
发布于 2015-09-30 17:46:22
您可以通过使用wget
启动调试来查看-d
发送的标头。
wget -d https://username:password@website.com
您对--request begin--
和--request end--
之间的关系很感兴趣。下面是https://www.google.com的一个示例
---request begin---
GET / HTTP/1.1
User-Agent: Wget/1.16.3 (darwin14.3.0)
Accept: */*
Accept-Encoding: identity
Host: www.google.com
Connection: Keep-Alive
---request end---
HTTP request sent, awaiting response...
对于curl
,使用详细标志-v
。您还需要将STDOUT上的内容发送到/dev/null。
curl -v https://username:password@website.com > /dev/null.
您对一开始就使用>
表示它们是由curl
发送的行感兴趣。再说一遍,这里是https://www.google.com
> GET / HTTP/1.1
> Host: www.google.com
> User-Agent: curl/7.44.0
> Accept: */*
>
curl
还将向您提供有关SSL协商的信息。
一种可能是网站已经决定由他们的用户代理机器人。他们有可能阻止了wget
,但忘记了curl
。试着设置wget --user-agent=curl/7.44.0 https://username:password@website.com
,看看这是否能让你进入。
https://stackoverflow.com/questions/32878077
复制相似问题