2011-08-15 20 views
1

を読むために、私はローカルホストを経由してWebページ(例えばwww.google.com)への接続をオープンしようとしている、ポート80C:どのようにWebページ

私はC言語でプログラム的にこれをどのように行うことができますか? :私は誰かが役立つことを願って(

事前に

多くのおかげで、ここで

+0

うーん... [ネットワークプログラミングにBeejのガイド]を読んで(HTTPで終端:// beej .us/guide /)。 – pmg

+3

これまでに何を試しましたか? libcurlのようなライブラリを使ってみましたか?具体的に何が問題になっていますか? – Mat

+0

基本的に、私はバッファに格納されたHTTPリクエストを持っています。このHTTP要求をlocalhostに適用して応答を取得したいと思います。私はこれをどうやってやれるのか考えています。残念ながら、libcurlでは、テキストHTTP要求ではなく、URLを与える必要があります。 – Eamorr

答えて

4

libcurlでこれを行う方法のいくつかのサンプルコードで、私はすべてのHTMLヘッダだけでなく、コンテンツを取得します。

http://curl.haxx.se/libcurl/c/getinmemory.html

もう一つは、いくつかのヘッダデータを取得する方法を示しますこと、すぐそこにあります。

http://curl.haxx.se/libcurl/c/getinfo.html

これらの例や他の多くの例は、libcurlディストリビューションの一部として入手できます。それはあなたが始める以上のものでなければなりません。プロセス要約

+0

私はlibcurlに行くつもりだと思っています。 – Eamorr

2

  • 解決したIPアドレスとポート
  • へ(getaddrinfo()を使用して)ホスト名のDNS解決

  • オープンストリームソケット(TCP)は、GETリクエストが(にプロトコールを参照送ります:http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

    GET /index.htmlがHTTP/1.1 ホスト:www.example.com

  • 読むヘッダ - \ R \ nは\ rを\ nは

  • 読む本体
  • 閉じるソケット