запросы cURL изменены - PullRequest
0 голосов
/ 23 ноября 2011

Я начал работать с библиотекой cURL, перед работой я скомпилировал библиотеку.Я отправляю запрос и имею некоторые проблемы.Код на c ++, который я использовал для работы с cURL:

CURL *curl=NULL;
CURLcode res;
struct curl_slist *headers=NULL; // init to NULL is important 
 curl_slist_append(headers, "POST /oauth/authorize HTTP/1.1");
 curl_slist_append(headers, "Host: sp-money.yandex.ru");
 curl_slist_append(headers, "Content-Type: application/x-www-form-urlencoded");
 curl_slist_append(headers, "charset: UTF-8");
 curl_slist_append(headers, "Content-Length: 12345");
curl = curl_easy_init();
if(!curl) 
    return 0;
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_URL, "sp-money.yandex.ru");
curl_easy_setopt(curl, CURLOPT_PROXY, "127.0.0.1:8888");
if( curl_easy_perform(curl)!=CURLE_OK)
    return 1;

Я использовал прокси, fiddler2, для проверки того, какие данные отправляются на сервер.Когда я проверяю отправленные данные, я получаю результат:

POST HTTP://sp-money.yandex.ru/ HTTP/1.1
Host: sp-money.yandex.ru
Accept: */*
Connection: Keep-Alive
Content-Length: 151
Content-Type: application/x-www-form-urlencoded

также я проверяю эти данные с помощью Wiresharck, результат тот же.1010 *

Я отправляю

POST /oauth/authorize HTTP/1.1

Я использовал VS 2010 для работы, а также я не использовал framework

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

Строка POST не относится к заголовкам, она должна быть установлена ​​с CURLOPT_URL, CURLOPT_POST и что-то подобное для протокола. На самом деле то же самое относится и к заголовку Host:, он выводится из URL.

1 голос
/ 23 ноября 2011

POST /oauth/authorize HTTP/1.1 - это не заголовок, это HTTP-глагол (POST) с URL и версией.

Полагаю, вам нужно поместить это в другое место (сейчас мы рассмотрим документы на секунду)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...