首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >curl与wget进行身份验证有何不同?

curl与wget进行身份验证有何不同?
EN

Stack Overflow用户
提问于 2015-09-30 17:25:50
回答 1查看 6.5K关注 0票数 2

卷发对wget有什么不同?我试图通过url访问一个安全的网页

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://username:password@website.com

然而,这似乎并没有让我直接进入页面。如果我在wget上使用相同的url

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget https://username:password@website.com

我得到了一个ERROR 403: Forbidden。如果我使用curl尝试相同的命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl https://username:password@website.com

请求成功。这两个命令有什么不同呢?我想做任何卷曲,但从浏览器网址。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-30 17:46:22

您可以通过使用wget启动调试来查看-d发送的标头。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget -d https://username:password@website.com

您对--request begin----request end--之间的关系很感兴趣。下面是https://www.google.com的一个示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
---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。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -v https://username:password@website.com > /dev/null.

您对一开始就使用>表示它们是由curl发送的行感兴趣。再说一遍,这里是https://www.google.com

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> 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,看看这是否能让你进入。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32878077

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文