我正在为重定向脚本编写基准测试。
我希望程序查询某些重定向到AppStore的URL。但是我不希望下载AppStore页面。我只想记录重定向URL或错误。
如何在不进行第二次重定向查询的情况下告诉转到查询URL?
更新
这两个答案都是正确的,但:
我尝试了两种解决方案。我正在做基准测试。我使用10-500个go例程运行1个或多个go进程。他们循环查询URL。我的服务器也是用go编写的。它每秒报告一次请求数。
第一个解决方案:http.DefaultTransport.RoundTrip
-工作缓慢,出现错误。前4秒钟工作正常。进行300-500个查询,然后性能会下降到每秒80个查询。
然后下降到每秒0-5个查询,queryies脚本开始出现如下错误
dial tcp IP:80: A connection attempt failed because the connected
party did not properly respond after a period of time, or established
connection failed because connected host has failed to respond.
我猜它重用了已关闭的连接。
第二种解决方案:CheckRedirect field
以恒定的性能工作。我不确定它是否重用连接还是为每个请求打开一个新连接。我client
为循环中的每个请求创建一个。这就是它在现实生活中的行为方式(每个请求都是一个新的连接)。有没有办法确保每个查询后关闭连接并且不重新使用连接?
这就是为什么我要标记第二种解决方案来回答我的问题。但是对于我的研究而言,每个查询都是一个新的连接非常重要。如何确保第二种解决方案?
相关分类