Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么WebClient(System.Net)会从URL获取两次?_C#_.net - Fatal编程技术网

C# 为什么WebClient(System.Net)会从URL获取两次?

C# 为什么WebClient(System.Net)会从URL获取两次?,c#,.net,C#,.net,我有一个这样的方法: private string getFromURL(string url) { WebClient myClient = new WebClient(); return myClient.DownloadString(url); } 使用System.Net中的WebClient。它似乎点击了两次url(我还观察了相关web服务器的日志,它记录了两次点击)。知道为什么会这样吗 编辑:答案实际上是程序员的错误。我再也没有理由认为这是一种奇怪的行为。谢谢你的回

我有一个这样的方法:

private string getFromURL(string url)
{
    WebClient myClient = new WebClient();
    return myClient.DownloadString(url);
}
使用System.Net中的WebClient。它似乎点击了两次url(我还观察了相关web服务器的日志,它记录了两次点击)。知道为什么会这样吗


编辑:答案实际上是程序员的错误。我再也没有理由认为这是一种奇怪的行为。谢谢你的回答。

我的猜测是,它在开始之前做了一个头部检查。您的日志是否显示正在使用的HTTP方法?

或者,如果URL在这两种情况下略有不同,则可能是响应HTTP重定向请求。

请查看tcpmon: 这是一个java工具,但是你可以很容易地运行它,而不是作为一个“java”的家伙

可能存在重定向或指向自身的内容,因此您应该能够看到http请求是否相同或略有不同


另外,请查看curl(cygwin)-您可以测试从那里发送请求,看看是否存在重定向或其他问题。

当您从浏览器转到url时,它是否两次命中url?是两次命中该url,还是从稍微不同的位置获取数据?(可能是图像或CSS)。我怀疑你调用了该函数两次。该死。我猜乔尔赢了。我相信可能是这样。我尝试了代码获取
http://www.google.com
,使用Fiddler检查请求/响应,并发出两个请求;第一个得到302响应,第二个得到200响应。