Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为x个请求量保持会话活动,然后关闭它?_C#_Proxy_Connection - Fatal编程技术网

C# 为x个请求量保持会话活动,然后关闭它?

C# 为x个请求量保持会话活动,然后关闭它?,c#,proxy,connection,C#,Proxy,Connection,我正在使用代理服务,它允许我在通过他们的代理系统发出的每个请求上获得一个新的ip。它工作正常,但我需要在我的HttpWebRequest中将keepalive设置为false,否则c#将再次使用之前创建的连接,这导致反复使用相同的连接/代理。我希望通过一个“会话/代理”发送3个请求,然后关闭它,这样下一个HttpWebRequest就不会再次使用相同的连接,但我不太确定我应该如何实现这一点 下面显示的代码将在每次调用该函数时打开到代理系统的新连接: Uri site = new Uri("htt

我正在使用代理服务,它允许我在通过他们的代理系统发出的每个请求上获得一个新的ip。它工作正常,但我需要在我的
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与上面使用的相同代理/连接
关闭与代理服务器的连接 从头再来

有没有办法实现这一点