LINUX.ORG.RU

проблема с curl


0

0

Есть функция с использованием curl, которая авторизуется на ftp-сервере и заливает туда файл. Некоторые строчки из нее: string user ="qwerty"; string password = "qwerty"; ... printf("\n PASSWORD= %s", password.c_str()); curl_easy_setopt(curl, CURLOPT_USERPWD, (user+":"+password).c_str()) ; ...

Результат выдает: PASSWORD=qwerty

а при коннекте к серверу использует следующее: USER qwerty PASS qwe

Почему урезается пароль? (в некоторых случаях он не урезается, а даже дописываются какие-то левые символы, например "(" .) Кто сталкивался с подобным?

anonymous

похоже на то, что
curl_easy_setopt(curl, CURLOPT_USERPWD, (user+":"+password).c_str())
не дублирует строку "(user+":"+password).c_str())"

Попробуй засунуть туда (в curl_easy_setopt)
sttrdup-ную "(user+":"+password).c_str())"

т.е.
curl_easy_setopt(curl, CURLOPT_USERPWD, strdup((user+":"+password).c_str()))

... "утечка мозгов, конечно" ...

carrot
()
Ответ на: комментарий от carrot

Спасибо за совет, помогло! А на резкие заявы тезки anonymous'а тактично промолчу!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.