Pat*_* Wu 5 .net c# unicode user-agent ios
今天,当我尝试使用HttpWebRequest发布请求时,我遇到了UserAgent编码的问题.
通常,UserAgent由拉丁字母和标点符号组成.但是,我需要模拟iOS应用程序的Web请求,其UA包含一些Unicode(特别是中文)字符.
使用Fiddler获取原始请求,我发现该应用程序在其UA中使用了使用的Unicode编码.我无法在C#中发布它; 我收到了这个错误:
您可能不会尝试在UserAgent中发送Unicode.但这对我的项目非常重要.现在我可以在没有UA字节的情况下模拟App的请求.
如何更改UA编码?
根据标准(rfc 2616 (http/1.1), sec 2.2, 3.8.14.43和rfc 2047 (mime,part 3), sec 4, 5),您不能使用除 iso-8859-1 之外的任何其他编码对于任何 http 标头字段,例如 user-agent。
\n\n但是,您可以应用 rfc 2047 的编码方案将 unicode 字符串映射到 8859-1 - 字符串;简而言之,您使用字符集标识符包装文本,并用各自编码中的八位位组序列的十六进制值替换 unicode 代码点。
\n\n例子:
\n\nUser-Agent: Million-\xe2\x82\xac-Browser变为User-Agent: =?utf-8?q?Million-=e2=82=ac-Browser?=,其中e2 82 ac是欧元符号的 utf-8 八位字节序列。
| 归档时间: |
|
| 查看次数: |
948 次 |
| 最近记录: |