为什么卷曲不起作用,但是wget有效?

 辽宁何氏医学院高明月 发布于 2023-02-05 12:09

我正在使用curl和wget来获取此URL:http://opinionator.blogs.nytimes.com/2012/01/19/118675/

对于curl,它根本不返回任何输出,但是使用wget,它返回整个HTML源:

这是2个命令.我使用了相同的用户代理,两者都来自同一个IP,并且正在跟踪重定向.URL完全相同.对于卷曲,它会在1秒后立即返回,所以我知道这不是超时问题.

curl -L -s "http://opinionator.blogs.nytimes.com/2012/01/19/118675/" --max-redirs 10000 --location --connect-timeout 20 -m 20 -A "Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" 2>&1

wget http://opinionator.blogs.nytimes.com/2012/01/19/118675/ --user-agent="Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" 

如果"纽约时报"可能会伪装,并且没有将源代码恢复到卷曲状态,那么标题卷曲中可能会有什么不同呢?我假设因为用户代理是相同的,所以请求应该看起来完全相同.我应该检查其他什么"脚印"?

1 个回答
  • 解决方法是curl通过执行curl -v ...和wget请求分析您的请求,wget -d ...这表明curl被重定向到登录页面

    > GET /2012/01/19/118675/ HTTP/1.1
    > User-Agent: Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
    > Host: opinionator.blogs.nytimes.com
    > Accept: */*
    > 
    < HTTP/1.1 303 See Other
    < Date: Wed, 08 Jan 2014 03:23:06 GMT
    * Server Apache is not blacklisted
    < Server: Apache
    < Location: http://www.nytimes.com/glogin?URI=http://opinionator.blogs.nytimes.com/2012/01/19/118675/&OQ=_rQ3D0&OP=1b5c69eQ2FCinbCQ5DzLCaaaCvLgqCPhKP
    < Content-Length: 0
    < Content-Type: text/plain; charset=UTF-8
    

    然后是一个重定向循环(你必须注意到,因为你已经设置了--max-redirs标志).

    另一方面,wget遵循相同的顺序,除了它返回由nytimes.com设置的cookie及其后续请求

    ---request begin---
    GET /2012/01/19/118675/?_r=0 HTTP/1.1
    User-Agent: Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
    Accept: */*
    Host: opinionator.blogs.nytimes.com
    Connection: Keep-Alive
    Cookie: NYT-S=0MhLY3awSMyxXDXrmvxADeHDiNOMaMEZFGdeFz9JchiAIUFL2BEX5FWcV.Ynx4rkFI
    

    curl发送的请求从不包含cookie.

    我看到修改curl命令并获得所需资源的最简单方法是添加-c cookiefile到curl命令.这将cookie存储在另外未使用的名为"cookiefile"的临时"cookie jar"文件中,从而使curl能够发送所需的cookie及其后续请求.

    例如,我-c x在"curl"之后直接添加了标志,我从wget获得了输出(除了wget将其写入文件并且curl将其打印在STDOUT上).

    2023-02-05 12:11 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有