Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / WinHttpReceiveResponse - Неверный дескриптор / 3 сообщений из 3, страница 1 из 1
08.02.2017, 12:57
    #39400789
А
А
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinHttpReceiveResponse - Неверный дескриптор
Использую функцию WinHttpReceiveResponse . На Windows 7 все работает нормально, на XP выдает Неверный дескриптор. Самое интересное, что мой напарник пробовал запустить мою программу на 8.1 и тоже получил Неверный дескриптор. В чем может быть прикол?

Привожу текст функции (взял из инета, подобное встречается не 1 раз)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
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"xn--80ajihiadw2acf5i.xn--p1ai",
							   INTERNET_DEFAULT_HTTP_PORT, 0 );

  // Create an HTTP request handle.
  if( hConnect )
	hRequest = WinHttpOpenRequest( hConnect, L"GET", L"test.php",
								   NULL, WINHTTP_NO_REFERER,
								   WINHTTP_DEFAULT_ACCEPT_TYPES, 0);
  // 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;
	  WinHttpQueryDataAvailable( hRequest, &dwSize );

      // Allocate space for the buffer.
      pszOutBuffer = new char[dwSize+1];
      if( !pszOutBuffer )
       dwSize=0;
      else
      {
        // Read the data.
		ZeroMemory( pszOutBuffer, dwSize+1 );

		WinHttpReadData( hRequest, (LPVOID)pszOutBuffer,  dwSize, &dwDownloaded);

		// Free the memory allocated to the buffer.
		if(dwSize)
 		  ShowMessage(AnsiString(pszOutBuffer));
		delete [] pszOutBuffer;
      }
    } while( dwSize > 0 );
  }

  // Close any open handles.
  if( hRequest ) WinHttpCloseHandle( hRequest );
  if( hConnect )  WinHttpCloseHandle( hConnect );
  if( hSession )  WinHttpCloseHandle( hSession );

}
...
Рейтинг: 0 / 0
08.02.2017, 13:18
    #39400800
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinHttpReceiveResponse - Неверный дескриптор
Ана XP выдает Неверный дескриптор
Где выдаёт? Не вижу в коде обработки ошибок от слова "вообще".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.02.2017, 13:28
    #39400815
A
A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WinHttpReceiveResponse - Неверный дескриптор
Здесь ставил соответственно

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 if( hRequest )
	bResults = WinHttpSendRequest( hRequest,
								   WINHTTP_NO_ADDITIONAL_HEADERS, 0,
								   WINHTTP_NO_REQUEST_DATA, 0,
								   0, 0 );
  if(!bResults) ShowMessage(GetLastError());

  // End the request.
  if( bResults )
	bResults = WinHttpReceiveResponse( hRequest, NULL );
  if(!bResults) ShowMessage(GetLastError());
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / WinHttpReceiveResponse - Неверный дескриптор / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]