InternetSetOptionの例(C言語)

説明:

各種タイムアウト時間を1秒に設定する。

キーワード:

InternetOpen, InternetSetOption, InternetOpenUrl, InternetReadFile, InternetCloseHandle

サンプルコード:

void TestInternetOption()
{
	HINTERNET hInternet;
	HINTERNET hFile;
	char Buf[1000];
	DWORD ReadSize;
	BOOL bResult;
	DWORD ms;

	hInternet = InternetOpen(
		"WININET Sample Program",
		INTERNET_OPEN_TYPE_PRECONFIG,
		NULL,
		NULL,
		0);
	
	if(hInternet == NULL) printf("InternetOpen err(%d)\n", GetLastError());
	else printf("InternetOpen succeed.\n");

	ms = 1000;
	InternetSetOption(hInternet, INTERNET_OPTION_CONNECT_TIMEOUT, &ms, sizeof(ms));
	InternetSetOption(hInternet, INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT, &ms, sizeof(ms));
	InternetSetOption(hInternet, INTERNET_OPTION_CONTROL_SEND_TIMEOUT, &ms, sizeof(ms));
	InternetSetOption(hInternet, INTERNET_OPTION_DATA_SEND_TIMEOUT, &ms, sizeof(ms));
	InternetSetOption(hInternet, INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, &ms, sizeof(ms));

	if(!bResult) printf("InternetSetOption err(%d)\n", GetLastError());
	else printf("InternetSetOption succeed.\n");

	hFile = InternetOpenUrl(
		hInternet,
		"http://www.geocities.co.jp/SiliconValley-PaloAlto/5920/other.html",
		NULL,
		0,
		INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_RELOAD,
		0);

	if(hFile == NULL) printf("InternetOpenUrl err(%d).\n", GetLastError());
	else printf("InternetOpenUrl succeed.\n");

	for(;;) {
		ReadSize = 1000;

		bResult = InternetReadFile(
			hFile,
			Buf,
			1000,
			&ReadSize);

		if(!bResult) {
			printf("err(%d)\n", GetLastError());
			break;
		}

		if(bResult && (ReadSize == 0)) break;

		Buf[ReadSize] = '\0';
		printf("%s", Buf);
	}

	InternetCloseHandle(hFile);
	InternetCloseHandle(hInternet);
}

(original text:1999/03/22 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。