Wget vs Curl:获取站点输出时出现禁止的403错误
我正在使用以下命令: wget--无检查证书“” 我得到403禁止的错误(这是预期的输出),但是还有一个伴随的服务器响应,这是我无法得到的原因。我尝试了各种选择——忽略内容长度、提供私有PEM证书、设置用户代理等,但仍然无法获得输出 然而,使用curl,输出正如预期的那样。 卷曲“ 工作组产出: 卷曲输出: 问题是我的许多机器只安装了wget,所以这对我来说是一个恼人的问题。我几乎可以肯定我错过了一些使wget显示输出的选项。如果你有什么想法,我很乐意尝试一下。Wget vs Curl:获取站点输出时出现禁止的403错误,curl,wget,Curl,Wget,我正在使用以下命令: wget--无检查证书“” 我得到403禁止的错误(这是预期的输出),但是还有一个伴随的服务器响应,这是我无法得到的原因。我尝试了各种选择——忽略内容长度、提供私有PEM证书、设置用户代理等,但仍然无法获得输出 然而,使用curl,输出正如预期的那样。 卷曲“ 工作组产出: 卷曲输出: 问题是我的许多机器只安装了wget,所以这对我来说是一个恼人的问题。我几乎可以肯定我错过了一些使wget显示输出的选项。如果你有什么想法,我很乐意尝试一下。 谢谢。不幸的是,您使用wget时
谢谢。不幸的是,您使用wget时运气不好
wget
程序仅处理HTTP
协议版本1.0。在HTTP 1.1中,可以使用分块编码发送响应。这意味着任何一个代理都可以以块的形式发送数据,在每个块之前发送块的大小。当发送大量数据或数据的大小事先未知时,这是有意义的。除此之外,chunked
编码允许您移动到正在传输的资源的不同部分
你的情况是,当你试图通过HTTP/1.0与Youtube聊天时,服务器会回应说你运气不好。当您通过HTTP/1.1
与它交谈时,它会提供一个包含您看到的JSON的分块响应curl
处理HTTP/1.1
,因此处理Youtube提供的分块的
传输编码。让您快速了解分块编码
最后,以下内容有点离题:分块传输编码以及随后的范围请求和响应相当复杂。基特·剑桥做了一个实验
--2013-06-07 18:37:13-- https://www.googleapis.com/youtube/v3/search?alt=json&q=hello&part=snippet
Resolving www.googleapis.com (www.googleapis.com)... 74.125.135.95, 2404:6800:4001:c01::5f
Connecting to www.googleapis.com (www.googleapis.com)|74.125.135.95|:443... connected.
WARNING: The certificate of `www.googleapis.com' is not trusted.
WARNING: The certificate of `www.googleapis.com' hasn't got a known issuer.
HTTP request sent, awaiting response... 403 Forbidden
2013-06-07 18:37:14 ERROR 403: Forbidden.
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}