Curl + proxy, Периодически перестает работать proxy |
Здравствуйте, гость ( Вход | Регистрация )
Curl + proxy, Периодически перестает работать proxy |
dimon1980ddd |
13.2.2010, 17:07
Сообщение
#1
|
Студент Группа: Участник Сообщений: 35 Регистрация: 13.12.2009 Пользователь №: 1304 Спасибо сказали: 0 раз(а) Репутация: 0 |
Для отсылки информации использую 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 |
13.2.2010, 18:01
Сообщение
#2
|
Студент Группа: Участник Сообщений: 35 Регистрация: 13.12.2009 Пользователь №: 1304 Спасибо сказали: 0 раз(а) Репутация: 0 |
Выяснил что проблема в передаче параметров...
Т.е. если передать так 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()); } В чем отличие? |
|
|
Текстовая версия | Сейчас: 26.12.2024, 13:04 |