HttpWebRequset请求中UserAgent的汉字编码问题

问题描述

UA里一般没有中文,但是有了的话就出问题了HttpWebRequestreq=HttpWebRequest.Create("http://aaabbbccc.com")asHttpWebRequest;req.UserAgent="测试";req.Method="POST";在调用请求后,抓包分析Head里的UserAgent编码不是Unicode,在Fiddler里显示是乱码现在项目需求是精确模拟一个请求,原请求在UA里夹杂了中文,抓包后发现他的编码Unicode,.net下不知道是什么编码的,这样用HttpWebRequest调用后,汉字部分的bytes不一样研究了半天也不知道该如何改这个,请各路大神帮帮忙

解决方案

解决方案二:
从未听说过UserAgent里面出现中文的先例让我看看这个奇葩的网址
解决方案三:
引用1楼的回复:

从未听说过UserAgent里面出现中文的先例让我看看这个奇葩的网址

是移动应用的,我也是头一次见,用中文描述把他应用名字和版本号等内容发给服务器
解决方案四:
TrystringuserAgent="测试";byte[]buffer=Encoding.GetEncoding("utf-8").GetBytes(userAgent);stringstr="";foreach(bytebinbuffer)str+=string.Format("%{0:X}",b);req.UserAgent=str;

解决方案五:
引用3楼的回复:

TryC#codestringuserAgent="测试";byte[]buffer=Encoding.GetEncoding("utf-8").GetBytes(userAgent);stringstr="";foreach(bytebinbuffer)str+=string.Forma……

不行抓出来是User-Agent:%E6%B5%8B%E8%AF%95
解决方案六:
一般发送请求都是编码之后,接收方也会有相应的解码,比如汉字等,请求中应该是编码之后的,如%E6%B5%8B%E8%AF%95
解决方案七:
引用5楼的回复:

一般发送请求都是编码之后,接收方也会有相应的解码,比如汉字等,请求中应该是编码之后的,如%E6%B5%8B%E8%AF%95

你这种方法的确有用,相当于用UA发送密文,发前encode,服务端收到后decode,但是不能满足我的要求我要的仅仅是HTTP请求里的UA部分的汉字编码是Unicode的,这样才能跟我要模仿的请求一致,而现在.net里发过去的HTTP请求包里UA的描述不是用Unicode编的码
解决方案八:
按Unicode编码后发送可以么byte[]buffer=Encoding.Unicode.GetBytes(userAgent);

解决方案九:
引用7楼的回复:

按Unicode编码后发送可以么C#codebyte[]buffer=Encoding.Unicode.GetBytes(userAgent);

一样,还是%开头的已编码明文
解决方案十:
这个问题怎么解决的同求

时间: 2024-11-09 07:03:40

HttpWebRequset请求中UserAgent的汉字编码问题的相关文章

消息-在html请求中加入User-Agent

问题描述 在html请求中加入User-Agent 我想用java做一个数据爬虫,需要绕过访客系统,可是我不知道如何在请求中加入消息头 解决方案 httpclient.getParams().setParameter( HttpMethodParams.USER_AGENTMozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.1.2) Gecko/20090803""); 解决方案二: 我已经找到解决方法了 HttpURLConnection c

Http请求中Content-Type讲解以及在Spring MVC中的应用

引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息. Content-Type MediaType,即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息. [html] view pl

关于Ajax请求中传输中文乱码问题的解决方案_AJAX相关

今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/CRM/Ashx/HandK

关于Ajax请求中传输中文乱码问题的解决方案

今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题. 如下代码: function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: "Post", contentType: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/CRM/Ashx/HandK

如何从jQuery的ajax请求中删除X-Requested-With

 X-Requested-With常用于判断是不是ajax请求,ajax请求中删除X-Requested-With的方法如下,感兴趣的朋友可以参考下 X-Requested-With常用于判断是不是ajax请求    但是有时我们会有需要删除X-Requested-With的情况    下面介绍一种方式 js代码   代码如下: $.ajax({  url: 'http://www.zhangruifeng.com',  beforeSend: function( xhr ) {  xhr.se

Access-Control-Allow-Headers 跨域请求中参数的意义?

问题描述 Access-Control-Allow-Headers 跨域请求中参数的意义? response.addHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With"); Access-

form 表单中的input type=text 是不是一定会被加在请求中

问题描述 现在有这么一个想法 ,是通过一个checkbox来控制 同一排的 input type=text 是否加到请求中, 由于是checkbox只有在选中的时候才会被加到请求中,而input 如何不让它加到请求中了,这样方便后面数据的处理. 解决方案 看你是要同步还是异步操作了如果是异步操作,使用ajaxfunction ajax_post(){ $.post("action",{param:paramValue}, //自己拼接参数,如果有就加上 function(data){

传参-关键字:tomcat8,注解,仅在POST请求中出现,参数传递问题

问题描述 关键字:tomcat8,注解,仅在POST请求中出现,参数传递问题 tomcat8.0下注解方式接收POST请求并存放参数,遇到这个问题http://zhidao.baidu.com/question/427520912867439172.html?qq-pf-to=pcqq.group, 请大神们,给个详细解释(query()和delete()都正常,仅@RequestMapping(method = RequestMethod.POST)出现) 解决方案 http://alog20

懒加载session-多数据源springmvc+hibernate 切换问题 在一次请求中多次切换不成功

问题描述 多数据源springmvc+hibernate 切换问题 在一次请求中多次切换不成功 最近写了一个多数据源的代码,结果在使用的过程中出现了在一个请求中(方法中)两个数据库交替使用的情况,最后情况是数据库切换不过来 并且在项目配置中有懒加载和OpenSessionInViewFilter 数据库一个为本地数据库一个为基金数据库 要做的事情就是在本地查询到基金代码接着再循环去基金库查询基金数据 中间报错为在本地数据库中查询不到某个表(其实是在基金库中) controller层 @Reque