0

问题是,如果我这样做Webclient.DownloadStringAsync(Uri),而 Uri.length 很长,我会看到错误:An exception occurred during a WebClient request

Webclient 的 URI 是对链接长度的限制吗?如果链接很长怎么办?

WebClient queueItem_client = new WebClient();
queueItem_client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(queueItem_client_DownloadStringCompleted);
            queueItem_client.DownloadStringAsync(execUri);

void queueItem_client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{}

链接长度为execUri2234 个字符。

在此处输入图像描述

如果execUri由大约 500 个字符组成,则正常响应。 在此处输入图像描述

4

1 回答 1

3

一些浏览器对 URI 实施了限制。请参阅不同浏览器中 URL 的最大长度是多少?. 如果可能的话,对于长 Uri(超过 2000 个字符),请考虑将此请求更改为 Post 而不是 GET 并将您的参数放入正文中。

于 2012-09-04T18:11:08.303 回答