尝试使用HttpClient阅读网页。但是一些html被一些js魔法所隐藏,试着点击view source on this page http://uc.worldoftanks.eu/uc/accounts/#wot&at_search=a你知道怎么让HttpClient返回“完整的”html页面吗?
发布于 2011-08-09 15:08:25
HttpClient不处理javascript,这意味着从服务器读取http内容时没有可以隐藏的内容。
情况可能正好相反,在页面上运行的javascript可能会创建新的html元素,并将它们附加到DOM中……这不是使用HttpClient可以处理的事情,HttpClient是一个纯粹设计用于读取通过HTTP连接访问的数据的通信客户端。
发布于 2011-08-09 15:13:04
当页面加载时,一个请求被发送到
http://uc.worldoftanks.eu/uc/accounts/?type=table&offset=0&limit=25&order_by=name&search=a&echo=1&id=accounts_index
尝试用您的HttpClient输入该地址以查看表数据。使用offset、limit和order_by值来更改分页和排序。
不过,手动浏览到上述网址会产生一个重定向,因此似乎需要在HttpClient中包含一些请求头。我的浏览器发出的请求的完整标头如下:
GET /uc/accounts/?type=table&offset=0&limit=25&order_by=name&search=&echo=1&id=accounts_index HTTP/1.1
Host: uc.worldoftanks.eu
Connection: keep-alive
Referer: http://uc.worldoftanks.eu/uc/accounts/?type=table&offset=0&limit=25&order_by=name&search=a&echo=1&id=accounts_index
X-Requested-With: XMLHttpRequest
X-CSRFToken: 5e33bf57602f76de9285e9b14bcfe7fe
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1
Accept: application/json, text/javascript, */*; q=0.01
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en;q=0.8,en-US;q=0.6,ar;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: csw_popup=true; __utma=21812543.1316104722.1312873581.1312873581.1312873581.1; __utmb=21812543.2.10.1312873581; __utmc=21812543; __utmz=21812543.1312873581.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); csrftoken=5e33bf57602f76de9285e9b14bcfe7fe例如,他们可能在寻找X-Requested-With、Accept或Referrer。
https://stackoverflow.com/questions/6992518
复制相似问题