Как мне установить прокси и SOCK в libcurl? - PullRequest
0 голосов
/ 15 января 2011

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

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

В firefox я устанавливаю http прокси и хост SOCKs отдельно, это разные 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();
    }

1 Ответ

2 голосов
/ 15 января 2011

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

...