0

自分のクライアントから Web ページをリクエストしようとしていますが、返された Web ページにコンテンツがありません。ページのリクエストを Telnet しようとすると、同じことが起こります。ここにあるコードと削除されたバージョンの両方を試しました(どちらも同じ結果を返します):

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

私が要求している Web ページは以下のページで、ブラウザーから簡単にアクセスできますが、自分のクライアントでアクセスしようとすると、Telnet とコードの両方でコンテンツの大部分が欠落しています。私はバッファサイズをいじってみましたが、これによりわずかに大きな結果が得られましたが、2回目の実行ではコンテンツがなくなりました。

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 に答える