我正在尝试通过自己的客户端请求网页,网页返回内容丢失。当我尝试Telnet请求页面时,会发生同样的情况。我已尝试使用此处的代码和剥离版本(两者都返回相同的结果):
http://coding.debuntu.org/c-linux-socket-programming-tcp-simple-http-client
我请求的网页是下面的网页,可以从浏览器轻松访问,但是当我尝试使用自己的客户端访问它时,我在Telnet和Code中都缺少大部分内容。我已经玩过缓冲区大小,一旦这给出了稍微好一些的结果,但是第二次运行时内容已经消失了。
http://www.asx.com.au/asx/research/companyInfo.do?by=asxCode&asxCode=MQG
如何制作网页请求并获取整页来源?
答案 0 :(得分:0)
我只是尝试使用以下请求行来请求页面:
GET /asx/research/companyInfo.do?by=asxCode&asxCode=MQG HTTP/1.0
UserAgent: Myself
我得到的结果是:
HTTP/1.0 200 OK
Age: 36
Date: Wed, 30 Jan 2013 07:12:03 GMT
Content-Length: 38060
Content-Type: text/html;charset=ISO-8859-1
Server: Apache
Content-Language: en
包括浏览器获取的整个页面内容。我想你找不到所需信息的问题来自于页面包含动态(JavaScript)部分,这些部分在浏览器中显示页面后立即加载更多信息。
如果您想从此页面获取特定信息,您必须剖析分析JavaScript部分的页面内容,并对这些部分检索信息的界面进行反向工程。
旁注:如果您能负担得起(在空间和复杂性方面),请使用像curl这样的库,它已经涵盖了在实施HTTP时必须要处理的许多问题。