В настоящее время я использую curlpp для выполнения HTTP-запроса, но curlpp сообщает, что в URL есть недопустимые символы. Я сузил проблему URL-адреса для переменной, которая считывается из файла конфигурации (одна строка, она просто содержит необходимую информацию). Еще одна странность в том, что это происходит только при установке Fedora x64bits (я не пробовал другие дистрибутивы x64bits). На моих двух машинах разработки он отлично работает (Ubuntu и OpenSuse, 32 бит). Я пробовал распечатать код ASCII символов, считанных из файла, и все выглядит совершенно нормально, однако в конце строки есть символ линии. Теперь этот символ встречается во всех системах, но в системе Fedora он сообщается как незаконный символ. Замена этого символа символом нулевой остановки заставляет программу работать отлично.Проблема с символом перевода строки в libcurl (curlpp)
Мне было интересно, есть ли возможность заставить curlpp игнорировать символ линии. Я также попытался избежать строки с помощью функции curl_easy_escape, но она преобразует символ линии строки в процентную кодировку% 0A. Это, в свою очередь, не распознается HTTP-сервером как существующий URL (он выдает ошибку 404).
Неужели кто-нибудь сталкивался с этой проблемой раньше? Можно ли игнорировать этот символ или лучше всего подходит для его замены?
Заранее благодарим за вашу помощь!
С наилучшими пожеланиями,
PS: Во всех системах, версии библиотеки одинаковы (что несколько странно). Версия curlpp is (0.7.3)
EDIT: Из-за популярного спроса я отправляю код, который читает переменную из файла.
std::ifstream keyfile (pathToFile.c_str());
std::stringstream buffer;
buffer << keyfile.rdbuf();
Share код, который считывает значение из конф файла. Проблема, кажется, в вашем файле conf или чтении, а не в Curl. –
Символ строки не должен быть частью URL-адреса, я думаю, вам нужно посмотреть, как извлекается URL-адрес из файла конфигурации - почему он читает строку? – Galik
P.S. Вы можете использовать его, обрезая строку перед ее использованием: http://stackoverflow.com/a/25385766/3807729, но вы действительно должны исправить функцию, которая читает файл конфигурации. – Galik