Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Curl + proxy
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Ввод/Вывод, Сеть. Межпроцессное взаимодействие
dimon1980ddd
Для отсылки информации использую curl. Понадобилось добавить поддержку прокси... Открыл документацию посмотрел добавил несколько строчек проверил, вроде бы все работает и забыл...
Но... Потом оказалось, что все работает через раз...
Посмотрел ошибку и вывел ее описание:
* Curl failed (5:Could not resolve proxy: `t<; Host not found)

Вот сама функция... Выходит что url прокси не тот который я устанавливаю, хотя в лог пишется все правильно....
В чем может быть проблема?

CODE
void CurlSender::setProxy(const QString url, const QString port, const QString user, const QString password)
{
if (curl)
{
QByteArray proxy = $(url + ":" + port);
QByteArray userinfo = "";
if (!user.isEmpty()) userinfo = $(user + ":" + password);

if (!proxy.isEmpty() && !port.isEmpty())
{
appLog->write("Curl params. Set proxy:", proxy.data());
curl_easy_setopt(curl, CURLOPT_PROXY, proxy.data());
}
if (!userinfo.isEmpty())
{
appLog->write("Curl params. Set proxy user with password:", userinfo.data());
curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, userinfo.data());
}
}
}

dimon1980ddd
Выяснил что проблема в передаче параметров...
Т.е. если передать так
curl_easy_setopt(curl, CURLOPT_PROXY, "proxy.some.ru:8888");
То все нормально (гонял долго) - проблем нет...

А если пробовать так - то работает через раз :-(

CODE
QByteArray proxy = "";
if (!url.isEmpty())
{
proxy.append(url);
proxy.append(":");
proxy.append(port);
}
if (!proxy.isEmpty() && !port.isEmpty())
{
appLog->write("Curl params. Set proxy:", proxy.constData());
curl_easy_setopt(curl, CURLOPT_PROXY, proxy.constData());
}


В чем отличие?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2026 IPS, Inc.