http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4280|回复: 3

[HttpHelper] 关于提交中文乱麻的问题

[复制链接]
发表于 2016-12-27 23:02:41 | 显示全部楼层 |阅读模式
[C#] 纯文本查看 复制代码
string psdata = "{\"Account\":\"" + Account + "\",\"Password\":\"" + Password + "\",\"MoneyPassword\":\"" + MoneyPassword + "\",\"Name\":\"" + Name + "\",\"checkCode\":\"" + checkCode + "\",\"checkCodeEncrypt\":\"" + checkCodeEncrypt + "\"}";
            item = new HttpItem()
            {
                URL = registUrl,
                Method = "post",
                Cookie = cookie,
                Host = host,
                UserAgent = agent,
                ProxyIp = "127.0.0.1:8888",
                ContentType = "application/json;charset=UTF-8",
                Accept = "application/json, text/plain, */*",
                PostDataType = PostDataType.Byte,
                PostdataByte = HttpHelper.StringToByte(psdata),
                PostEncoding=System.Text.Encoding.UTF8,
                                
            };
            Console.WriteLine("psd==="+psdata);
            item.Header.Add("X-Requested-With", "XMLHttpRequest");
            result = http.GetHtml(item);

以上是我做提交时候的代码,控制台打印的提交数据是
[C#] 纯文本查看 复制代码
psd==={"Account":"sdfkljk","Password":"sdfkljk","MoneyPassword":"sdfkljk","Name":"中华伟大的祖国啊","checkCode":"4786","checkCodeEncrypt":"GJlUNIwAIMVGPVZYHFj9Jw=="}

但是我通过fiddler抓包却发现提交的数据是
[C#] 纯文本查看 复制代码
{"Account":"sdfkljk","Password":"sdfkljk","MoneyPassword":"sdfkljk","Name":" л ΰ        ","checkCode":"4786","checkCodeEncrypt":"GJlUNIwAIMVGPVZYHFj9Jw=="}

如果英文提交都正常,就是提交中文名称的时候就出现乱码,求解决方式。我知道是编码格式问题,但是服务器端要求是UTF-8编码,我也设置了该格式,而且这已经不是服务器端的问题,而是我客户端提交的时候就不正常。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2016-12-28 08:21:55 | 显示全部楼层
fiddler工具的问题吧。你直接调试看看如果正常那就是正常的。设置Post数据的编码应该是这个属性

PostEncoding
 楼主| 发表于 2016-12-28 08:56:55 | 显示全部楼层
站长苏飞 发表于 2016-12-28 08:21
fiddler工具的问题吧。你直接调试看看如果正常那就是正常的。设置Post数据的编码应该是这个属性

PostEnc ...

是的,我已经测试过好多回,英文提交正常,中文提交就报错提交的字符不正确了。
字符编码我也已经设置 PostEncoding=System.Text.Encoding.UTF8,
发表于 2016-12-28 09:21:46 | 显示全部楼层
那你换其他编码试试,这个其实很容易明白的吧,你只要调试 一下,把Post的数据打印出来看看,是不是乱的, 如果是那就是编码有问题,如果不是那肯定是服务端问题,或者是抓包软件的问题。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-23 05:52

© 2014-2021

快速回复 返回顶部 返回列表