The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проблема: libCURL и прокси, !*! JazzCat, 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;
}
всё работает. подскажите, пожалуйста, что я делаю не так? или это всё-таки плохие списки проксей? спасибо




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

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