苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 8434|回复: 14

[求助] 关于get的问题

[复制链接]
发表于 2013-6-23 21:08:40 | 显示全部楼层 |阅读模式
用httphelper类,get方式 写成的程序,在我电脑上返回是超市的,,但是在别的电脑上就没事... 请问这是什么问题? 是不是跟浏览称设置有关?实体类:


[code=csharp]HttpItem item = new HttpItem()
            {
                Encoding = Encoding.GetEncoding("UTF-8"),

                URL = requestUrl,
                Method = "GET",//可选项 默认为Get
                Timeout = 60000,//连接超时时间
                ReadWriteTimeout = 30000,//写入get数据超时时间
                IsToLower = false,//得到的HTML代码是否转成小写     可选项默认转小写
                //Cookie = "",//字符串Cookie     可选项
                //UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; Zune 4.7)",//用户的浏览器类型,版本,操作系统     可选项有默认值
                UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
                Accept = "text/html, application/xhtml+xml, */*",   //    可选项有默认值
                ContentType = "application/x-www-form-urlencoded",   //返回类型    可选项有默认值
                Referer = requestUrl
            };[/code]



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-6-23 22:00:45 | 显示全部楼层
会不会是你网速的问题
发表于 2013-6-23 22:04:13 | 显示全部楼层
是不是参数长度问题,我想知道你的URL的参数长度,如果过长的话,要处理下。。。
 楼主| 发表于 2013-6-23 22:23:09 | 显示全部楼层
站长苏飞 发表于 2013-6-23 22:00
会不会是你网速的问题

两台pc都是同局域网的,然后也是win7x64.. 网速和参数问题应该不会吧?
 楼主| 发表于 2013-6-23 22:23:49 | 显示全部楼层
qw8613243 发表于 2013-6-23 22:04
是不是参数长度问题,我想知道你的URL的参数长度,如果过长的话,要处理下。。。

如果是参数问题的话,请问要怎么处理呢?
发表于 2013-6-23 22:27:53 | 显示全部楼层
我看了下,你的请求是GET类型。那如果参数超过规定的长度,就会被自动截取。。。你可以抓包看看,如果是这样的话,那就在处理下参数:
引用using System.Web;

HttpUtility.UrlEncode(参数);
 楼主| 发表于 2013-6-23 22:38:14 | 显示全部楼层
qw8613243 发表于 2013-6-23 22:27
我看了下,你的请求是GET类型。那如果参数超过规定的长度,就会被自动截取。。。你可以抓包看看,如果是这 ...

嗯嗯,是get方式。

hotelName = HttpUtility.UrlEncode(hotelName);
string fDate = beginDate.ToString("yyyy-MM-dd");
string tDate = endDate.ToString("yyyy-MM-dd");


这三个参数..
发表于 2013-6-23 22:39:05 | 显示全部楼层
hotelName,看看长度
 楼主| 发表于 2013-6-23 22:39:51 | 显示全部楼层
http://hotel.qunar.com/render/re ... &attrs=L0F4L3C1,ZO1FcGJH,J6TkcChI,HCEm2cI6,08F7hM4i,8dksuR_,YRHLp-jc,pl6clDL0,HFn32cI6,vf_x4Gjt,2XkzJryU,vNfnYBK6,TDoolO-H,pk4QaDyF,x0oSHP6u,z4VVfNJo,5_VrVbqO,VAuXapLv,U1ur4rJN,px3FxFdF,pk4QaDyF,HGYGeXFY,6X7_yoo3,0Ie44fNU,dDjWmcqr,MMObDrW4,ownT_WG6,yYdMIL83,Y0LTFGFh,8F2RFLSO&showBrandInfo=1&showNonPrice=1&showFullRoom=1&showPromotion=1&showTopHotel=1&showGroupShop=1&output=json1.1&v=0.5989852909783646&cityurl=guangzhou&q=%E5%B9%BF%E5%B7%9E%E7%B2%A4%E6%B5%B7%E5%96%9C%E6%9D%A5%E7%99%BB%E9%85%92%E5%BA%97&fromDate=2013-06-25&toDate=2013-06-26&requestor=RT_HSLIST&filterid=46e12670-7ebd-412e-a5f9-d494810aa7c7_B&requestTime=961928441066&mixKey=10f04a6f9ee56f188b0d13719827797220eWuflLw2yZRkjvx&needFP=1&__jscallback=XQScript_12

这个是请求的url.
发表于 2013-6-23 22:40:38 | 显示全部楼层
那就试试,我的方法。。。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-23 18:55

© 2014-2021

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