Uri.EscapeDataString("内容")
当内容过多,就会报这个错,怎么解决?

解决方案 »

  1.   

    总长不能超过 2048b
    你不能改用 post 方式吗?
      

  2.   

    传个JOSN过去这个想法太狠了!这是怕你程序挂的不够彻底,不过不同浏览器对url的长度限制不同,主要看你用什么浏览器了!个人觉得最好不要这么搞,会死人的,这次不超下次也会超
      

  3.   

    GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。GET书签可收藏,POST为书签不可收藏。GET能被缓存,POST不能缓存 。GET编码类型application/x-www-form-url,POST编码类型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。POST无限制。GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET !POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中。----
    2048字节这个长度是HTTP协议规定的,用POST提交吧。
      

  4.   

    楼主解决了吗,我也遇到了这个问题,nginx处理uri过长可以通过client_head_buffer_size参数处理,但是当nginx接收完这个uri的请求转发给php的时候,fastcgi无法处理这个请求报错。如何提高fastcgi的接收限制呢。
      

  5.   

    Get方式,这个长度限制没有办法解决。
    只能改用Post
      

  6.   

     一种换post 另一种作死转16进制字符