【发布时间】:2012-06-07 12:07:58
【问题描述】:
我正在使用动态 URL 创建 HttpWebRequest,该 URL 有时可能包含俄罗斯符号。 有时我会遇到一个不知道如何处理的问题:在编码为 URL 时,每个 RU 字符都已转换为 URL 字符实体等效项 (%20...)。显然,在这样的转换 URL 变得太长之后,因此 HttpWebRequest 截断了最后几个字符,所以我得到了 404 错误,而不是正确的 HTTP 结果。
有没有办法绕过这个限制?
我的网址如下所示:
http:\\1.1.1.1\some?page=2&var=тестовое значение строки (this part can be very long)
我将其作为 GET 发送,因为我正在使用的网络应用程序此时期待 GET 请求。
【问题讨论】:
-
我认为您不会绕过 URL 编码为 ASCII 也不会解决请求中的长度限制
-
如果您要发送这么多数据,您真的应该尝试使用 POST 请求并以这种方式传递数据,而不是通过 GET 请求中的 URL 参数。这通常是推荐的方法,如果在 Web 服务器上启用了日志记录,您的日志文件将不会被无关的详细信息淹没。
-
这个其他线程可能会帮助stackoverflow.com/questions/1587857/…
标签: c# .net httpwebrequest