POST-запрос webhook.site отвечает 301 постоянно перемещается с помощью Win32 WinHTTP, но 200 - при использовании приложения PostMan - PullRequest
0 голосов
/ 26 января 2020

Я использую код, доступный здесь: https://github.com/microsoft/Windows-classic-samples/blob/master/Samples/Win7Samples/web/WWSAPI/HttpRawClient/HttpRawClient.cpp, чтобы отправить запрос POST на www.webhook.site для тестирования API.

POST URL: https://webhook.site/71550a87-efef-4ace-84c1-c6fd147938b9

Я внес несколько изменений в приведенный выше пример кода, чтобы изменить URL для публикации информации.

Строка 96 : изменено на / 71550a87-efef-4ace-84c1-c6fd147938b9 и также попытано с / 71550a87-efef-4ace-84c1-c6fd147938b9 /

Строка 172 : изменено на www.webhook.site

Строка 158 : изменено на L "HTTP Raw Client"

Строка 159 : изменено на WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY

Я использую Fiddler для захвата запроса / ответа для моего консольного приложения с использованием WinHTTP и PostMan.

Когда запрос POST отправляется через PostMan, я получаю статус 200 OK с правильным ответом. Но когда я использую приведенный выше код, я получаю статус 301 Постоянно перемещено . Однако, когда я проверяю местоположение в ответе, он указывает на тот же URL, куда я отправил запрос POST.

Я не уверен, что не так с запросом, отправленным через WinHTTP. Я попытался GET / PUT / DELETE и все работает нормально, и я получаю статус 200 вместо 301.

Request/Response for PostMan POST request

Request/Response for WinHTTP POST request without trailing slash

Request/Response for WinHTTP POST request with trailing slash

Редактировать : Кажется, WinHTTP не разрешает запрос POST в https://webhook.site/71550a87-efef-4ace-84c1-c6fd147938b9 и преобразует URL к https://www.webhook.site/71550a87-efef-4ace-84c1-c6fd147938b9. Попытался изменить аргумент WinHttpConnect API, указав https://webhook.site, но он все равно преобразует его в https://www.webhook.site.

...