我正在使用Facebook C#SDK对Facebook进行API调用,而我似乎无法通过HTTP GET发送长查询字符串。我需要一个很长的FQL查询(select .. from .. where .. in)来执行,我似乎无法发送它。如果查询较小,则会成功发送并返回结果。不幸的是,由于FQL支持GET而不支持POST,因此我坚持GET。
如何在Windows Phone HttpWebRequest中增加默认查询字符串限制?
我正在使用Windows Phone SDK 7.1,但在Windows Phone 8设备上进行测试。
答案 0 :(得分:1)
您似乎需要切换到http帖子(如果可能)或以某种方式优化您的请求。
阅读What is the maximum length of a URL in different browsers?。虽然HTTP的官方标准说实际上应该没有最大值,但实际上there are maximums。例如,IE have an upper bound of 2083 characters。 Windows Phone似乎与IE有类似的限制。
Microsoft Internet Explorer具有最大统一资源定位器 (URL)长度为2,083个字符。 Internet Explorer也有最大值 路径长度为2,048个字符。此限制适用于POST 请求和GET请求网址。
如果您使用的是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/