HttpSendRequestの例(C言語)
説明:
HttpSendRequestを利用して、//www.cool.ne.jp/masapico/index.htmlの内容を取得する。
キーワード:
InternetOpen, InternetConnect, HttpOpenRequest, HttpSendRequest, HttpQueryInfo, InternetReadFile, InternetCloseHandle
サンプルコード:
void RequestHttp()
{
HINTERNET hInternet;
HINTERNET hHttpSession;
HINTERNET hHttpRequest;
char *Buf;
char BufSizeText[1000];
DWORD BufSizeTextSize = 1000;
DWORD BufSize;
DWORD ReadSize;
/* WININET初期化 */
hInternet = InternetOpen(
"WININET Sample Program",
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
0);
/* サーバへ接続 */
hHttpSession = InternetConnect(
hInternet,
"www.cool.ne.jp",
INTERNET_DEFAULT_HTTP_PORT,
NULL,
NULL,
INTERNET_SERVICE_HTTP,
0,
0);
/* HTTP要求の作成 */
hHttpRequest = HttpOpenRequest(
hHttpSession,
"GET",
"index.html",
NULL,
"http://www.cool.ne.jp/masapico/",
NULL,
0,
0);
/* 作成したHTTP要求の発行 */
HttpSendRequest(
hHttpRequest,
NULL,
0,
NULL,
0);
/* 返されたコンテンツの長さを取得 */
HttpQueryInfo(
hHttpRequest,
HTTP_QUERY_CONTENT_LENGTH,
BufSizeText,
&BufSizeTextSize,
NULL);
BufSize = atol(BufSizeText);
Buf = GlobalAlloc(GMEM_FIXED, BufSize);
/* コンテンツの内容を取得・表示 */
InternetReadFile(
hHttpRequest,
Buf,
BufSize,
&ReadSize);
printf("%s\n", Buf);
/* 後処理 */
GlobalFree(Buf);
InternetCloseHandle(hHttpRequest);
InternetCloseHandle(hHttpSession);
InternetCloseHandle(hInternet);
}
(original text:1999/04/21 更新)
本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。