- UID
- 188646
- 积分
- 644
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-10-31
- 最后登录
- 1970-1-1
|
发表于 2021-2-6 17:02:10
|
显示全部楼层
本帖最后由 cable2004 于 2021-2-6 18:30 编辑
能改成arx版本获取网络时间吗?
- DWORD dwSize = 0;
- DWORD dwDownloaded = 0;
- LPSTR pszOutBuffer;
- BOOL bResults = FALSE;
- HINTERNET hSession = NULL,
- hConnect = NULL,
- hRequest = NULL;
- // Use WinHttpOpen to obtain a session handle.
- hSession = WinHttpOpen( L"WinHTTP Example/1.0",
- WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
- WINHTTP_NO_PROXY_NAME,
- WINHTTP_NO_PROXY_BYPASS, 0);
- // Specify an HTTP server.
- if (hSession)
- hConnect = WinHttpConnect( hSession, L"www.baidu.com",
- INTERNET_DEFAULT_HTTPS_PORT, 0);
- // Create an HTTP request handle.
- if (hConnect)
- hRequest = WinHttpOpenRequest( hConnect, L"GET", NULL,
- NULL, WINHTTP_NO_REFERER,
- WINHTTP_DEFAULT_ACCEPT_TYPES,
- WINHTTP_FLAG_SECURE);
- // Send a request.
- if (hRequest)
- bResults = WinHttpSendRequest( hRequest,
- WINHTTP_NO_ADDITIONAL_HEADERS,
- 0, WINHTTP_NO_REQUEST_DATA, 0,
- 0, 0);
-
- // End the request.
- if (bResults)
- bResults = WinHttpReceiveResponse( hRequest, NULL);
- // Keep checking for data until there is nothing left.
- if (bResults)
- {
- do
- {
- // Check for available data.
- dwSize = 0;
- if (!WinHttpQueryDataAvailable( hRequest, &dwSize))
- {
- printf( "Error %u in WinHttpQueryDataAvailable.\n",
- GetLastError());
- break;
- }
-
- // No more available data.
- if (!dwSize)
- break;
- // Allocate space for the buffer.
- pszOutBuffer = new char[dwSize+1];
- if (!pszOutBuffer)
- {
- printf("Out of memory\n");
- break;
- }
-
- // Read the Data.
- ZeroMemory(pszOutBuffer, dwSize+1);
- if (!WinHttpReadData( hRequest, (LPVOID)pszOutBuffer,
- dwSize, &dwDownloaded))
- {
- printf( "Error %u in WinHttpReadData.\n", GetLastError());
- }
- else
- {
- printf("%s", pszOutBuffer);
- }
-
- // Free the memory allocated to the buffer.
- delete [] pszOutBuffer;
- // This condition should never be reached since WinHttpQueryDataAvailable
- // reported that there are bits to read.
- if (!dwDownloaded)
- break;
-
- } while (dwSize > 0);
- }
- else
- {
- // Report any errors.
- printf( "Error %d has occurred.\n", GetLastError() );
- }
- // Close any open handles.
- if (hRequest) WinHttpCloseHandle(hRequest);
- if (hConnect) WinHttpCloseHandle(hConnect);
- if (hSession) WinHttpCloseHandle(hSession);
复制代码
|
|