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

标签 c# .net httpwebrequest

我正在使用有时可能包含俄语符号的动态 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

关于c# - HttpWebRequest 截断带有非英文符号的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10931465/

相关文章:

c# - 将文件路径传递给批处理文件

c# - 如果是 3 层域驱动设计的应用程序,模型应该放在哪里?

c# - 来自另一个应用程序域的 CreateInstance 适用于控制台应用程序,但在单元测试时抛出 MissingMethodException

c# - 如何获取 HttpResponseHeader 的名称?

c# - 监视器似乎没有锁定对象

c# - Action<T> 等效于属性

c# - .Net继承和方法重载

c# - 具有永久任务/线程的 TPL 数据流 block

c# - HTTP Post 请求返回 400 C#

http - 什么时候应该在 Web 应用程序中使用 GET 而不是 POST?