0

我正在尝试通过 wget 或 urllib 获得尽可能接近手动使用浏览器的 Wireshark 输出。

输出不同,我想知道为什么,以及如何克服这个问题?

谢谢!

4

2 回答 2

0

wget 主要用于抓取整个或部分网站以供离线查看,或者用于从 HTTP 或 FTP 服务器快速下载单个文件。

浏览器请求包含 HTTP 标头,例如 User Agent、Referer 等。

如果您想将 wget 模拟为类似请求的浏览器,您可以将 HTTP 标头与您的 wget 请求一起传递。

像这样的东西-

# wget http://www.remote.co.in/images/myimage.jpg --header="User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0" --header ="Accept: image/png,image/ ;q=0.8, /*;q=0.5" --header="Accept-Language: en-US,en;q=0.5" --header="Accept-Encoding: gzip, deflate" --header="Referer: http://www.mywebsite.com "

于 2014-05-29T08:26:34.537 回答
0

有几件事...

浏览器:
可能有几个特定的​​标头(useragent、cookies、referer、misc.pplugins、no-track)请求所有子元素/脚本/资源,可能在同一个连接上(保持活动状态)可能会请求 gzipped 数据流作为回报

WGet:
默认情况下具有最少的标头(useragent),但可以使用/更改其他参数通常是1-off,仅请求主html而不是其子资源

如果您看到不同的主要 HTML,则该站点可能是基于用户代理和/或 cookie 的服务器端脚本定制内容(例如“登录”)

于 2014-05-29T08:11:56.243 回答