我正在尝试配置我的.NET应用程序以使用代理。我的源代码是C#,但我通过C ++学习了CURL。我的问题是我在哪里放置SOCK的IP和端口?我查看the documentation并没有看到它。我相信这就是造成我这些问题的原因。
当我运行此代码时,它将保持字面上超时并且不调用我的头函数或编写器函数。如果我注释掉前两个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();
}
答案 0 :(得分:2)
据我所知,唯一可以将SOCKS代理的地址放在CURLOPT_PROXY
中的地方。您可以拥有HTTP代理或SOCKS代理,但不能同时拥有这两者。