The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Проблема: libCURL и прокси"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Проблема: libCURL и прокси"  
Сообщение от JazzCat email(ok) on 12-Фев-07, 05:41 
неправильно работает простейшая, на мой взгляд, программа

#include <stdio.h>
#include <curl/curl.h>

int main(int argc, char* argv[])
{
     CURL* curl;
     char url[] = "some_host";
     char proxy[] = "some_proxy_ip";
     long port = [some_port];
     char error[200];

     curl_global_init(CURL_GLOBAL_ALL);
     curl = curl_easy_init();

     curl_easy_setopt(curl, CURLOPT_URL, url);
     curl_easy_setopt(curl, CURLOPT_PROXY, proxy);
     curl_easy_setopt(curl, CURLOPT_PROXYPORT, port);
     curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
     curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error);
     curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
     curl_easy_setopt(curl, CURLOPT_HEADER, 1);

     printf("\nTrying proxy [%s:%d]:\n", proxy, port);

     if (curl_easy_perform(curl))
          printf("Cannot perform\nError:%s\n", error);

     return 0;
}

я не нашёл ни одного прокси, который бы либо не вешал программу(до некотороо момента, естественно, когда curl обрывает зависшее соединение), либо не присылал код 404 - север не найден. списки проксей свежие и по идее рабочие

так
#include <stdio.h>
#include <curl/curl.h>

int main(int argc, char* argv[])
{
     CURL* curl;
     char url[] = "jazzcat.smartdesign.by";
     char proxy[] = "84.17.235.10";
     long port = 4241;
     char error[200];


     curl_global_init(CURL_GLOBAL_ALL);
     curl = curl_easy_init();

     curl_easy_setopt(curl, CURLOPT_URL, url);
     //curl_easy_setopt(curl, CURLOPT_PROXY, proxy);
     curl_easy_setopt(curl, CURLOPT_PROXYPORT, port);
     curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
     curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error);
     curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
     curl_easy_setopt(curl, CURLOPT_HEADER, 1);

     printf("\nTrying proxy [%s:%d]:\n", proxy, port);

     if (curl_easy_perform(curl))
          printf("Cannot perform\nError:%s\n", error);

     return 0;
}
всё работает. подскажите, пожалуйста, что я делаю не так? или это всё-таки плохие списки проксей? спасибо

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Проблема: libCURL и прокси"  
Сообщение от DeadMustdie email(??) on 12-Фев-07, 11:38 
Попробуйте проксюк задать в формате http://<имя>:<порт>
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Проблема: libCURL и прокси"  
Сообщение от BsDr (ok) on 12-Фев-07, 17:36 
На PHP я делаю просто:
curl_setopt($ch, CURLOPT_PROXY, 'ip:port');
Одной строчкой и все работает!
И ip и port прописаны сразу.
curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); // CURLPROXY_HTTP (default)
его не надо!

А вообще все бесплатные прокси живут очень не долго!
Надо либо платные искать либо через tor если нужна анонимность.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Проблема: libCURL и прокси"  
Сообщение от JazzCat email(??) on 12-Фев-07, 19:34 
Дело в том, что я старался написать в этом случае именно что-нибудь простейшее, если задавать прокси как "http://proxy_ip:proxy_port" и больше ничего (крому CURLOP_URL, конечно) - как в основном проекте, то всё не работает точно также. прокси свежие и проверенные, только-только с прокси-чекера
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Проблема: libCURL и прокси"  
Сообщение от JazzCat email(ok) on 14-Фев-07, 06:14 
Проблема решилась сама собой. Прокси сервера оказались не http а socks, точнее, давались они как http, но алгоритм проверки чекера оказался не совсем правильным.

Прошу прощения у всех, кто потратил своё время. =)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру