curl 与用于身份验证的 wget 有何不同
How does curl differ to wget for authentication
curl 与 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
请求成功。这两个命令有什么不同?我想做任何 curl 做的事,但是从浏览器 url.
您可以通过使用 -d
打开调试来查看正在发送哪个 headers wget
。
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 协商的信息。
一种可能是该网站已决定通过其 User-Agent 进行机器人程序。有可能他们阻止了 wget
,但忘记了 curl
。尝试设置 wget --user-agent=curl/7.44.0 https://username:password@website.com
看看是否能让你进入。
curl 与 wget 有何不同?我正在尝试使用
通过 url 访问安全网页https://username:password@website.com
然而,这似乎并没有让我直接进入页面。如果我用 wget
尝试相同的 urlwget https://username:password@website.com
我得到一个 ERROR 403: Forbidden
。如果我用 curl
curl https://username:password@website.com
请求成功。这两个命令有什么不同?我想做任何 curl 做的事,但是从浏览器 url.
您可以通过使用 -d
打开调试来查看正在发送哪个 headers wget
。
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 协商的信息。
一种可能是该网站已决定通过其 User-Agent 进行机器人程序。有可能他们阻止了 wget
,但忘记了 curl
。尝试设置 wget --user-agent=curl/7.44.0 https://username:password@website.com
看看是否能让你进入。