1

我正在使用 Facebook C# SDK 对 Facebook 进行 API 调用,但我似乎无法通过 HTTP GET 发送长查询字符串。我需要一个长的 FQL 查询(选择 .. from .. where .. in )来执行,我似乎无法发送它。如果查询较小,它确实发送成功并返回结果。不幸的是,由于 FQL 支持 GET 而不是 POST,所以我坚持使用 GET。

如何增加 Windows Phone HttpWebRequest 中的默认查询字符串限制?

我正在使用 Windows Phone SDK 7.1,但在 Windows Phone 8 设备上进行测试。

4

1 回答 1

1

看来您需要切换到 http post(如果可能)或以某种方式优化您的请求。

阅读不同浏览器中 URL 的最大长度是多少?. 虽然 HTTP 的官方标准说不应该有最大值,但实际上有最大值。例如,IE 的上限为 2083 个字符。Windows Phone 似乎与 IE 有类似的限制。

Microsoft Internet Explorer 的最大统一资源定位符 (URL) 长度为 2,083 个字符。Internet Explorer 的最大路径长度也为 2,048 个字符。此限制适用于 POST 请求和 GET 请求 URL。

如果您使用 GET 方法,则限制为最多 2,048 个字符,减去实际路径中的字符数。

但是,POST 方法不受用于提交名称/值对的 URL 大小的限制。这些对在标头中传输,而不是在 URL 中。

RFC 2616,“超文本传输​​协议——HTTP/1.1”,没有指定对 URL 长度的任何要求。

资料来源:http ://social.msdn.microsoft.com/Forums/en-US/wpdevelop/thread/f96622fe-4dcb-4d38-8831-4cfad1aa4a06/

于 2013-02-07T14:26:35.147 回答