Skip to main content
 首页 » 编程设计

c#之HttpWebRequest 截断带有非英文符号的 URL

2024年01月02日38leader

我正在使用有时可能包含俄语符号的动态 URL 创建 HttpWebRequest。 有时我会遇到一个我不确定如何处理的问题:在编码为 URL 时,每个 RU 字符都已转换为 URL 字符实体等价物 (%20...)。显然,在这样的转换 URL 变得太长之后,HttpWebRequest 截断了最后几个字符,所以我得到的不是正确的 HTTP 结果,而是 404 错误。

有什么办法可以绕过这个限制吗?

我的网址是这样的:

http:\\1.1.1.1\some?page=2&var=тестовое значение строки (this part can be very long) 

我将此作为 GET 发送,因为我正在使用的 Web 应用此时需要 GET 请求。

请您参考如下方法:

唯一的答案是您必须以任何其他方式发送它,因为查询字符串的长度有限制。

错误 404 或“HTTP 错误 414。请求 URL 太长。”你会得到只是因为查询字符串的长度,因为你发送的数据比限制长。

引用这个:http://forums.asp.net/t/1139751.aspx