HTTP Client の動作フロー その7 : write() でリクエストを送る
connect()で接続ができたら、write()関数でリクエストを送ります。
例
char buf[1024]; char *host; //ホスト名 host = "localhost"; /* 中略 */ //送信内容を作成 snprintf(buf, sizeof(buf), "GET / HTTP/1.0\r\nHost: %s\r\r\n", host); //リクエストを送信 write(sfd, buf, strlen(buf)); //sfdはsocket()で取得したファイルディスクリプション
ここではsnprintf()関数を使って下記のようなHTTPリクエストを作成して、write()関数でサーバに送信しています。
GET / HTTP/1.0 Host: localhost
追記 20110529
HTTP/1.1だと「Transfer-Encoding: chunked」に対応しないといけなくなるため、プロトコルをHTTP/1.0に変更。