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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 3054|回复: 4

[HttpHelper] 各位大神留步,求助下各种编码都试了还是乱码!!!

[复制链接]
发表于 2016-1-29 16:43:15 | 显示全部楼层 |阅读模式
现在问题是浏览器里面输入的都是同一链接地址,但是呢  接收到的信息IE发送的显示正常,谷歌发送的 只要是中文就显示乱码 以下是代码,不知道该如何更改了,忘大拿们驻留脚步,帮小弟看看,万分感激,本人属于小小菜鸟!!!

            HttpHelper http = new HttpHelper();
            HttpItem item = new HttpItem()
            {
                URL = "http://10.230.81.54:8000/interface/sms.php?USER_ID=test&PASSWORD=test&FROM_ID=admin&TO_ID=admin&CONTENT=测试afas啊就是了东风科技ceshi",//URL     必需项  
                Method = "GET",//URL     可选项 默认为Get  
                Timeout = 100000,//连接超时时间     可选项默认为100000  
                ReadWriteTimeout = 30000,//写入Post数据超时时间     可选项默认为30000  
                IsToLower = false,//得到的HTML代码是否转成小写     可选项默认转小写  
                Cookie = "",//字符串Cookie     可选项  
                UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0",//用户的浏览器类型,版本,操作系统     可选项有默认值  
                Accept = "text/html, application/xhtml+xml, image/jxr, */*",//    可选项有默认值                 
                ContentType = "text/html; charset=gbk",//返回类型    可选项有默认值  
                Referer = "http://10.230.81.54:8000",//来源URL     可选项            
                ResultType = ResultType.String,//返回数据类型,是Byte还是String  
                ProtocolVersion = HttpVersion.Version11,//获取或设置用于请求的 HTTP 版本。默认为 System.Net.HttpVersion.Version11  
            };
            item.Header.Add("Accept-Encoding", " gzip");//设置请求头信息(Header)
            HttpResult result = http.GetHtml(item);
            string html = result.Html;
            string cookie = result.Cookie;

            if (html.ToLower().Contains("</html>"))
            {
                ResultText.Text = GetResult(html);
            }
            else
            {
                ResultText.Text = "请求数据错误!!!";
                ResultText.Text = html;
            }


更多图片 小图 大图
组图打开中,请稍候......


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2016-1-29 16:45:17 | 显示全部楼层
顶顶顶 不知道参数汉子采用的什么编码如何写并放到请求地址后面
发表于 2016-1-29 20:59:55 | 显示全部楼层

回帖奖励 +5 金钱

请求头gzip去掉看看
 楼主| 发表于 2016-1-30 10:57:41 来自移动端 | 显示全部楼层
也不行,有没有什么方法是不是先处理参数?在请求?
 楼主| 发表于 2016-1-30 17:33:16 | 显示全部楼层
好了搞定了,
   string strUrl = string.Format("http://10.230.81.54:8000/interface/sms.php?");
   string strContentEncode = HttpUtility.UrlEncode(SendMilContent.Text, Encoding.GetEncoding("GBK"));
    string strPostUrlParma = string.Format("USER_ID={0}&ASSWORD={1}&FROM_ID={2}&TO_ID= {3}&CONTENT={4}", "test", "test", SendMailID.Text, ReceiveMailID.Text, strContentEncode);
必须在请求之前把带中文的参数编码转换放进去就好了....
这接口还不能通过postdate这样的方式请求页面,只能把参数写到链接后面直接请求才行,所以post里面在怎么设置编码都不行
不知道我这样理解对不对,现在好了显示正常!!!
麻烦大家了....
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-23 18:34

© 2014-2021

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