【发布时间】:2019-08-04 00:07:05
【问题描述】:
我有一个系统需要多次调用 API 作为单个“作业”。 我通过主机名连接到代理来执行这项工作,因此它不会为我分配我可以看到的 IP 地址。我基本上把任务交给了。
目前我正在使用 HtmlWeb 来调用我的 URL 列表,如下所示:
var webProxy = new WebProxy(Address: [MyProxyHost]);
var web = new HtmlWeb();
web.UseCookies = false;
web.UserAgent = "[MyUserAgent]";
var htmlDoc = web.Load("[URL]","GET", webProxy, webCreds);
//...do stuff with results...
问题:就目前而言,我发出的每个请求都会轮换代理(因为使用代理主机的每个“调用”都会随机更改他们一方的 IP - 我无法控制这一点)。
我想要做的是在多个调用中重复使用 http 请求/连接(我很感激我可能无法为此使用 HtmlWeb)。
所以我基本上会说:
- 创建 HTTP 请求对象(带代理主机)
- 打开/初始化
- 提出请求 1
- ...
- 发出请求 N
- 关闭并丢弃
这可能吗?
【问题讨论】:
-
.. 使用 HttpClient 下载 HTML?
-
我现在正在看这个。我在多个呼叫中使用
WebProxy和HttpClientHandler作为HttpClient。我会更新我的进展情况
标签: c# asp.net-core html-agility-pack