0

我正在尝试通过我自己的客户端请求网页,但网页返回的内容缺失。当我尝试 Telnet 页面请求时也会发生同样的情况。我已尝试使用此处找到的代码和剥离版本(两者都返回相同的结果):

http://coding.debuntu.org/c-linux-socket-programming-tcp-simple-http-client

我请求的网页是下面的网页,可以从浏览器轻松访问,但是当我尝试使用自己的客户端访问它时,我在 Telnet 和代码中都丢失了大部分内容。我玩过缓冲区大小,一旦这产生了稍微大一点的结果,但在第二次运行时,内容就消失了。

http://www.asx.com.au/asx/research/companyInfo.do?by=asxCode&asxCode=MQG

如何发出页面请求并获取完整页面源?

4

1 回答 1

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 时必须注意的许多问题。

于 2013-01-30T07:20:53.960 回答