首页 > 解决方案 > 保持会话活动 x 数量的请求然后关闭它?

问题描述

我正在使用代理服务,它允许我在通过他们的代理系统发出的每个请求上获得一个新的 ip。它工作正常,但我需要keepalive在我HttpWebRequest的 . 我很想通过一个“会话/代理”发送 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 使用上面使用的相同代理/连接
关闭与代理的连接从头开始重新开始

有没有办法意识到这一点?

标签: c#proxyconnection

解决方案


推荐阅读