HttpWebRequest的并发与请求的问题

vphoenix 2014-09-03 05:44:07
目前在写一个http的外挂,网站限制每秒5个并发数10个请求数。
我想问一下,用HttpWebRequest的话,什么样的情况下增加的是并发数,什么样的情况下增加的请求数?
比如如下代码,第一次循环肯定是增加一个并发数一个请求数,在Keep-Alive的情况下,第二次循环是增加并发数还是仅增加请求数?

HttpWebRequest request;
for (int i = 0; i < 2; i++)
{
request = (HttpWebRequest)WebRequest.Create(uri);
.....
request.GetResponse();
}
...全文
318 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
vphoenix 2014-09-16
  • 打赏
  • 举报
回复
其实我还是没搞明白,不确定什么时候是请求什么时候是并发。从搜索引擎过来的同学,如果你们知道,可以在下面留言。
vphoenix 2014-09-09
  • 打赏
  • 举报
回复
顶一下看看~
  • 打赏
  • 举报
回复
例如你可以测试“至少可以并发5个,最多并发10个” --> 例如你可以测试“至少可以并发5个,但不超过10个”
  • 打赏
  • 举报
回复
引用 3 楼 vphoenix 的回复:
[quote=引用 1 楼 Forty2 的回复:] HttpWebRequest会复用连接池。因此第二次循环应该是增加请求数。 具体可以做试验验证。
怎么做实验呢?网站的限制并不是很精确的,5个并发,超过一个它也不一定给你断掉。[/quote] 是的,没有什么网站非要“精确”限制这个。它只要在空闲时,或者定时(例如每30秒)去检查一下就行了。当检查时才去“kill掉”一些连接,可能随机选择杀掉谁。 既然不能“精确”限制,那么就不能这样实验。 直到你想出了办法“如何描述测试用例”,再去实验。例如你可以测试“至少可以并发5个,最多并发10个”,而不是纠结于“正好5个并发”。
  • 打赏
  • 举报
回复
引用 楼主 vphoenix 的回复:
目前在写一个http的外挂,网站限制每秒5个并发数10个请求数。 我想问一下,用HttpWebRequest的话,什么样的情况下增加的是并发数,什么样的情况下增加的请求数? 比如如下代码,第一次循环肯定是增加一个并发数一个请求数,在Keep-Alive的情况下,第二次循环是增加并发数还是仅增加请求数?

      HttpWebRequest request;
      for (int i = 0; i < 2; i++)
      {
            request = (HttpWebRequest)WebRequest.Create(uri);
            .....
            request.GetResponse();
      }
你的请求如果不等前一个完全关闭,就开始下一个,当然就是并发。否则就不是并发。 并发数增加当然请求数就增加。
vphoenix 2014-09-04
  • 打赏
  • 举报
回复
引用 2 楼 devmiao 的回复:
看网站怎么限制的,如果限制的是会话,可以同时启几个会话。如果限制的是ip就没办法了,除非换ip。
答非所问啊…………
vphoenix 2014-09-04
  • 打赏
  • 举报
回复
引用 1 楼 Forty2 的回复:
HttpWebRequest会复用连接池。因此第二次循环应该是增加请求数。 具体可以做试验验证。
怎么做实验呢?网站的限制并不是很精确的,5个并发,超过一个它也不一定给你断掉。
devmiao 2014-09-03
  • 打赏
  • 举报
回复
看网站怎么限制的,如果限制的是会话,可以同时启几个会话。如果限制的是ip就没办法了,除非换ip。
Forty2 2014-09-03
  • 打赏
  • 举报
回复
HttpWebRequest会复用连接池。因此第二次循环应该是增加请求数。 具体可以做试验验证。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧