C# 为x个请求量保持会话活动,然后关闭它?
我正在使用代理服务,它允许我在通过他们的代理系统发出的每个请求上获得一个新的ip。它工作正常,但我需要在我的C# 为x个请求量保持会话活动,然后关闭它?,c#,proxy,connection,C#,Proxy,Connection,我正在使用代理服务,它允许我在通过他们的代理系统发出的每个请求上获得一个新的ip。它工作正常,但我需要在我的HttpWebRequest中将keepalive设置为false,否则c#将再次使用之前创建的连接,这导致反复使用相同的连接/代理。我希望通过一个“会话/代理”发送3个请求,然后关闭它,这样下一个HttpWebRequest就不会再次使用相同的连接,但我不太确定我应该如何实现这一点 下面显示的代码将在每次调用该函数时打开到代理系统的新连接: Uri site = new Uri("htt
HttpWebRequest
中将keepalive
设置为false,否则c#将再次使用之前创建的连接,这导致反复使用相同的连接/代理。我希望通过一个“会话/代理”发送3个请求,然后关闭它,这样下一个HttpWebRequest
就不会再次使用相同的连接,但我不太确定我应该如何实现这一点
下面显示的代码将在每次调用该函数时打开到代理系统的新连接:
Uri site = new Uri("https://randomsitehere/");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(site);
request.CookieContainer = cookies;
request.Proxy = new WebProxy(proxyURI, true, null, credentials);
request.UserAgent = "";
request.KeepAlive = false;
request.Timeout = 5000;
request.Method = "GET";
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) {
Stream dataStream = response.GetResponseStream();
StreamReader streamreader = new StreamReader(dataStream, Encoding.UTF8);
string responsex = streamreader.ReadToEnd();
dataStream.Close();
response.Close();
dataStream.Close();
string tokens = responsex.Split(new[] { @"""ip"": """ }, StringSplitOptions.None)[1].Split('"')[0];
Console.WriteLine("Thread " + i +": "+tokens);
}
我试图归档的内容如下所示:
使用新代理请求1号请求编号2,上面使用的代理/连接
请求编号3与上面使用的相同代理/连接
关闭与代理服务器的连接 从头再来 有没有办法实现这一点