在Google Chrome浏览器中,我可以查看浏览器发送和接收的http标头。一个有趣的选项是您可以将整个请求/响应复制为cURL cmd。
问题是,每次运行生成的cURL命令时,尽管服务器发送HTTP / 1.1 200 OK,但是content-length为零,而浏览器本身发送相同的请求时,情况并非如此。
你可能是什么问题?
听起来像具有防御DDoS攻击的HTTP服务器。
HTTP服务器可能希望每个请求都包含特定于操作时间和顺序的内容。它可以作为特殊标记驻留在标头或主体中。
我的猜测是,服务器每次响应时都会使用不同的Cookie值,这会使发送2个具有相同Cookie值的请求无效。也可能是使用UTC时间作为参数的东西。无论如何,您的请求中一定有未通过服务器端过滤的内容。
--
或者类似地,它可能是一次性使用的资源。例如,准备一次下载的临时文件。访问后,该文件将不再可用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句