Как объясняется в заголовке, я пытаюсь использовать libcurl C API для отправки простого http-запроса.
Я использую Windows в качестве ОС, C ++ в качестве языка, Visual Studio 2008 в качестве IDE.
Мой код очень прост:
Я инициализирую curl:
CURLcode init = curl_global_init(CURL_GLOBAL_ALL);
Я инициализирую свою ручку:
CURL* handle = curl_easy_init();
Я установил URL:
CRULcode set_url = curl_easy_setopt(handle, CURLOPT_URL, "http://www.example.com")
Я отправляю запрос: CURLcode submit = curl_easy_perform(handle);
В результате коды возврата init
и set_url
равны 0 (CURLE_OK
), вспомогательный код возврата равен 2 (CURLE_URL_MALFORMAT
).
Когда я отлаживаю, я понимаю, что мой URL поврежден, и вместо http://www.example.com он становится: xj:
в режиме выпуска и 0|:
в режиме отладки.
Это происходит, как только я ввожу curl_easy_setopt
Строка URL определенно повреждена.
Должна быть одна из моих настроек, которая неверна, поэтому вот сводка моих настроек (в режиме отладки)
- Использование MFC в общей библиотеке DLL
- Использовать многобайтовый набор символов
- препроцессор включает CURL_STATICLIB
- Многопоточная отладочная DLL / MDd
- Связывание againgst libcurld.lib (версия 7.21.3) с использованием проекта vc6curl.dsw
- также связывает againgst ws2_32.lib wldap32.lib