Как установить прокси и SOCK в libcurl?

Я пытаюсь настроить свое приложение .NET для использования прокси. Мой источник на C#, но я изучил CURL через C++. Мой вопрос: где мне указать IP-адрес и порт SOCK? я просмотрел документацию и не увидел ее. Я считаю, что это то, что вызывает у меня эти проблемы.

Когда я запускаю этот код, он буквально отключается по тайм-ауту и ​​не вызывает мою функцию заголовка или функцию записи. Если я закомментирую первые две строки curlopt (две строки прокси), мой код запустится без проблем.

В firefox я устанавливаю http-прокси и хост SOCK отдельно, это разные IP-адреса и порты. Как установить часть носка, ниже установлен фиктивный прокси, но я не могу понять часть носков.

    static void Main(string[] args)
    {
        SeasideResearch.LibCurlNet.Curl.GlobalInit((int)SeasideResearch.LibCurlNet.CURLinitFlag.CURL_GLOBAL_ALL);
        var curl = new Easy();
        {
            curl.SetOpt(CURLoption.CURLOPT_PROXY, "http://127.0.0.1:1234");
            curl.SetOpt(CURLoption.CURLOPT_PROXYTYPE, CURLproxyType.CURLPROXY_SOCKS5);
            curl.SetOpt(CURLoption.CURLOPT_URL, "http://whatismyipaddress.com/ip-lookup");
            curl.SetOpt(CURLoption.CURLOPT_FOLLOWLOCATION, 1);
            curl.SetOpt(CURLoption.CURLOPT_USERAGENT, @"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2b5) Gecko/20091204 Firefox/3.6b5");
            curl.SetOpt(CURLoption.CURLOPT_HEADERFUNCTION, hf);
            curl.SetOpt(CURLoption.CURLOPT_HEADERDATA, data);
            curl.SetOpt(CURLoption.CURLOPT_WRITEFUNCTION, wf);
            curl.SetOpt(CURLoption.CURLOPT_WRITEDATA, sw);
            curl.SetOpt(CURLoption.CURLOPT_SSL_VERIFYPEER, 0);
            curl.Perform();
            var sz = sw.ToString();
            var myrealip = sz.IndexOf("12.34.56.78") !=-1; 
        }
        //Console.WriteLine(sz);
        SeasideResearch.LibCurlNet.Curl.GlobalCleanup();
    }

person Community    schedule 15.01.2011    source источник


Ответы (1)


Насколько я могу судить, адрес SOCKS-прокси можно указать только в CURLOPT_PROXY. У вас может быть прокси-сервер HTTP или прокси-сервер SOCKS, но не оба.

person Hasturkun    schedule 15.01.2011