使Session保持活动状态以处理x个请求,然后将其关闭?

时间:2019-04-09 12:36:12

标签: c# proxy connection

我正在使用代理服务,通过我的代理系统,每个请求都可以为我提供新的IP。它工作正常,但是我需要在keepalive中将HttpWebRequest设置为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,与上面/连接中使用的代理相同
关闭与代理的连接 从头再来

有没有办法实现这一目标?

0 个答案:

没有答案