-4

Webサーバーと通信するアプリケーションを作成しようとしています。サーバーを作成し、プロキシとして設定すると、次のメッセージが表示されます。

GET http://SOMETHING.SG/ HTTP/1.1
Host: SOMETHING
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: [...SOMETHING...]
Connection: keep-alive

1)これらの行は何を言っていますか?(例:Gecko)

2)これらの行のいくつかなしでGETメッセージを作成することは可能ですか?

3)時間の経過とともに変化し、機能しないものはありますか?

4)C ++組み込みライブラリを作成することは可能ですか?それは私にとって何ですか?

5-8)HTTP-POSTと同じ質問

前もって感謝します。

4

2 に答える 2

4

これは、のHTTP /1.1GETリクエストですhttp://index.hu/。リクエスト全体を完全に理解するには、おそらくHTTP / 1.1仕様(RFC2616)を読む必要があります。

しかし、簡単に要約すると:

  • ホスト-要求されているリソースのホスト
  • User-Agent-リソースへのアクセスに使用されているユーザーエージェントを説明する文字列。このユーザーエージェントは、Firefoxを使用していることを示唆しています。FirefoxのレイアウトエンジンはGeckoと呼ばれます。
  • Accept-要求されたリソースの優先mimeタイプを指定します。この場合、リクエスターはリソースをHTMLとして受け取りたいと考えています。
  • Accept-Language-要求されたリソースの優先言語を提供します。
  • Accept-Encoding-要求されたリソースの優先エンコーディングを提供します。
  • Cookie -Cookieを使用するためにRFC2109によって定義された拡張ヘッダー。
  • 接続-接続のオプションを指定します。この場合、keep-alive持続的接続を要求します。

これらのヘッダーのすべてが必要なわけではなく、使用したいヘッダーは他にもたくさんあります。すべてのヘッダーの説明は、仕様に記載されています。

HTTPリクエストを作成して送信できるC++ライブラリはたくさんあります。人気のあるものはlibcurlです。公式チュートリアルもあります。

于 2013-03-25T15:41:19.840 に答える
2

libcurlはそれを行います。これには、プログラムでGET/POST要求を実行できるHTTPクライアントが含まれています。

于 2013-03-25T15:39:18.880 に答える