У меня есть фиктивный веб-сервис с URI = http: //localhost/IO_100_Service.svc/xml? Id = {id}, который возвращает данные в формате XML Я хочу позвонить этой службе, используя WINInet APi в VC++. Может кто-нибудь помочь мне, как использовать метод «HttpSendRequest», чтобы добавить заголовок и данные для вызова этой службы.как скомпоновать метод HttpSendRequest WININET
2
A
ответ
10
Вот пример кода, который вы должны быть в состоянии изменить в соответствии с вашими потребностями. Я тестировал его с помощью VS2005 с использованием проекта шаблона командной строки.
#include <tchar.h>
#include <wininet.h>
/// ....
HINTERNET hIntSession =
::InternetOpen(_T("MyApp"), INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
HINTERNET hHttpSession =
InternetConnect(hIntSession, _T("api.twitter.com"), 80, 0, 0, INTERNET_SERVICE_HTTP, 0, NULL);
HINTERNET hHttpRequest = HttpOpenRequest(
hHttpSession,
_T("GET"),
_T("1/statuses/user_timeline.xml?screen_name=twitterapi"),
0, 0, 0, INTERNET_FLAG_RELOAD, 0);
TCHAR* szHeaders = _T("Content-Type: text/html\nMySpecialHeder: whatever");
CHAR szReq[1024] = "";
if(!HttpSendRequest(hHttpRequest, szHeaders, _tcslen(szHeaders), szReq, strlen(szReq))) {
DWORD dwErr = GetLastError();
/// handle error
}
CHAR szBuffer[1025];
DWORD dwRead=0;
while(::InternetReadFile(hHttpRequest, szBuffer, sizeof(szBuffer)-1, &dwRead) && dwRead) {
szBuffer[dwRead] = 0;
OutputDebugStringA(szBuffer);
dwRead=0;
}
::InternetCloseHandle(hHttpRequest);
::InternetCloseHandle(hHttpSession);
::InternetCloseHandle(hIntSession);
Смежные вопросы
- 1. WinInet: Почему первый HttpSendRequest занимает больше времени?
- 2. WinINet: Как предотвратить перенаправление HttpSendRequest (30x кодов состояния)?
- 3. HttpSendRequest WININET застрял - занимает много времени, чтобы закончить - WINDOWS XP
- 4. Как правильно скомпоновать метод tostring
- 5. Использование SSL с Wininet
- 6. Как скомпоновать идентификатор Asp.net UserManager's CreateAsync метод
- 7. Проблема с wininet C++
- 8. Программный код Clear WinInet DNS
- 9. Wininet SSL-клиент аутентифицирует нечетность
- 10. C# Как скомпоновать метод Moq DbSet Добавить метод
- 11. Невозможность скомпоновать метод Linq в App_Code
- 12. HTTPsendRequest очень медленный
- 13. HttpSendRequest Wion32: ERROR_INTERNET_INCORRECT_HANDLE_STAT
- 14. HttpSendRequest 12005 error
- 15. Wininet скачать файл TCHAR проблемы
- 16. WinINET и PHP php: // ввод POST читается
- 17. C++ WinInet InternetCloseHandle crash
- 18. Как скомпоновать roku toolchain
- 19. Как скомпоновать CollectionViewCell
- 20. Как скомпоновать выражения regEx
- 21. Как скомпоновать java.util.logging
- 22. Как отправить запрос HTTPS с помощью WinInet?
- 23. Dev C++ Wininet Загрузить файл по HTTP
- 24. - реинтерант WinINET?
- 25. Получение токена аутентификации после HttpSendRequest
- 26. Как отправить данные изображения с помощью HttpSendRequest?
- 27. WinInet - Как получить URL-адрес сервера после перенаправления 301?
- 28. Как передать файл с помощью wininet, который читается скриптом php?
- 29. Загрузка файла с помощью WININET на delphi
- 30. Как скомпоновать два оператора SELECT