c# - 保持会话活动 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 使用上面使用的相同代理/连接
关闭与代理的连接从头开始重新开始
有没有办法意识到这一点?
解决方案
推荐阅读
- assembly - 在 Assembly 中打印一个单词 10 次
- php - 使用 odbc_exec libmdb mdbtools 耗尽允许的内存大小
- java - 如何使用 ADF DataControl 中公开的搜索和按钮 From 方法创建 Af:Table?
- node.js - 节点 - 从 React 发送的图像是空的 {}
- ruby-on-rails - 从 attr_encrypted 和 Vault-rails 升级以获得相同的密钥
- android - 禁用电池优化
- java - io.realm.exceptions.RealmFileException:助记符无效。错误
- c# - 在.net webApi中删除没有id参数的请求
- javascript - 替换 Ajax.ActionLink
- azure - 访问令牌是否检索用户别名