2 navi szt navi_szt 于 2015.07.10 15:42 提问

关于 拼接 url 连接 参数的问题(爬虫)。

是不是 有些网站 防止重复提交,还会对参数 之间 进行校验?

比如这里 我找的 后台请求的json的链接:

第一页:

http://www.igoldenbeta.com:8080/cn-jsfund-server-mobile/bkt/api?appkey=1.0&ttid=Android_unknown_unknown_unknown_xxxx_1.4.0.0003_v10&t=2015-07-10+13%3A30%3A23&sid=&imei=1.0&v=2.0&sign=64c5ec32720f97401aa502a74f41500b&data={%22limit%22%3A%2220%22%2C%22start%22%3A%220%22}&api=api.system.basket.adjustlist&imsi=1.0

第二页:

http://www.igoldenbeta.com:8080/cn-jsfund-server-mobile/bkt/api?appkey=1.0&ttid=Android_unknown_unknown_unknown_xxxx_1.4.0.0003_v10&t=2015-07-10%2013:31:19&sid=&imei=1.0&v=2.0&sign=203b7bf0fbc687c7d06d1d485b1a01da&data={%22limit%22:%2220%22,%22start%22:%2220%22}&api=api.system.basket.adjustlist&imsi=1.0

对URL 进行了 ENCode, 通过 Decode 发现 后面的参数 实际是:

第一页:

http://www.igoldenbeta.com:8080/cn-jsfund-server-mobile/bkt/api

?appkey=1.0&ttid=Android_unknown_unknown_unknown_xxxx_1.4.0.0003_v10&t=2015-07-10 13:30:23&sid=&imei=1.0&v=2.0&sign=64c5ec32720f97401aa502a74f41500b&data={"limit":"20","start":"0"}&api=api.system.basket.adjustlist&imsi=1.0

第二页:

http://www.igoldenbeta.com:8080/cn-jsfund-server-mobile/bkt/api

?appkey=1.0&ttid=Android_unknown_unknown_unknown_xxxx_1.4.0.0003_v10&t=2015-07-10 13:31:19&sid=&imei=1.0&v=2.0&sign=203b7bf0fbc687c7d06d1d485b1a01da&data={"limit":"20","start":"20"}&api=api.system.basket.adjustlist&imsi=1.0

(如果不进行encode 把这个 链接 放在火狐 里, 火狐 会自动encode的)

可以很明显 看到 分页的参数 在 连接中,那就 访问第三页 吧 ,后面的参数 改成:

http://www.igoldenbeta.com:8080/cn-jsfund-server-mobile/bkt/api?appkey=1.0&ttid=Android_unknown_unknown_unknown_xxxx_1.4.0.0003_v10&t=2015-07-10 13:31:19&sid=&imei=1.0&v=2.0&sign=203b7bf0fbc687c7d06d1d485b1a01da&data={"limit":"20","start":"40"}&api=api.system.basket.adjustlist&imsi=1.0

40开始,取20条 ,就是 第三页吧,哎,不行。。。

经过比对 发现 其他的参数 都是一样的,只有sign=203b7bf0fbc687c7d06d1d485b1a01da 不同,

好像 如果是同一sign 的时候,分页参数 是不允许 修改的;可是 往后面的 分页 的 这个参数值 我也不知道啊

这个是怎么回事啊?

3个回答

oyljerry
oyljerry   Ds   Rxr 2015.07.11 23:22
已采纳

这个要多加一些测试url来分析服务器上的处理。sign估计有多个用途。即区分用户等。还可以看是否正确用户提交分页

navi_szt
navi_szt 据说是签名,防止参数被篡改,不知道有何解法?
大约 3 年之前 回复
caozhy
caozhy   Ds   Rxr 2015.07.11 23:16

这很难说,有的时候仅仅是作为session跟踪用。

CSDNXIAOD
CSDNXIAOD   2015.07.16 15:21

URL传递中文参数乱码问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
URL地址的拼接
//URL地址的拼接 function jiontUrl(data,url) {//url要跳转的那个页面的地址,即A到B,其中的B var studentStr=""; for(var i in data){ studentStr +="&"+i+"="+data[i] } studentStr =studentStr.substr(1);
Python网络爬虫(1)--url访问及参数设置
标签: 环境:Python2.7.9 / Sublime Text 2 / Chrome 1.url访问,直接调用urllib库函数即可 import urllib2 url=‘http://www.baidu.com/‘ response = urllib2.urlopen(url) html=response.read() print html 2.带参数的访问,以baid
URL的三种连接方式
url的常用连接方式
url中两个参数的连接符!
                   [停电停水公告]
URL拼接规则 js解析URL中参数
1.URL拼接规则 例子:detail.html?title=新闻标题&name=新闻名字 拼接规则:在路径末尾以一个“?”开头后接“参数名1=参数值1”&“参数名2=参数值2”········ 总结:拼接位置:路径末尾 ,其中只有“?”(用于开头)和“&”(用于连接两个参数)两种符号 2.js解析URL中参数//网上比较经典的js获取url中的参数的方法 function getQ
python URL请求地址的拼接
URL = "http://127.0.0.1/version" dicts = {'platform': 'windows_64bit', 'object': 'agent', 'version': '20160216'} os_type={"os_type":"win_xp"} def parse_url(data={}): item=data.items() urls="?"
【python 爬虫】python中url链接编码处理方法
一、问题描述 有些网址,会把中文编码成gb2312格式,例如百度知道,美容这一词,网址上面会编码成:%C3%C0%C8%DD那么如何生成这种编码呢?二、解决方法 1、把要编码的文字encode成所需格式 2、利用urllib 库的quote方法编码# -*- coding:utf-8*- import sys reload(sys) sys.setdefaultencoding('utf-8'
PYTHON写爬虫时用到的相对路径-urljoin
使用URLJOIN从相对路径获取绝对路径: >>> from urlparse import urljoin >>> urljoin("http://www.asite.com/folder/currentpage.html", "anotherpage.html") 'http://www.asite.com/folder/anotherpage.html' >>> urljoin("http
retrofit2 post url拼接设置问题
我们用retrofit 请求时最好把log带上,可以很详细的告诉我们出错在哪里,AS里导包 compile 'com.squareup.okhttp3:logging-interceptor:3.3.0' 在请求里添加日志管理 String BASE_URL = "http://www.xxx.com/test/rest/user/"; HttpLoggingInterc
IOS 拼接参数与URL
为了项目调试接口方便,需要编写一个将URL与参数键值对拼接为完成的URL的方法,编写如下:.h文件: #import @interface MiceUtil : NSObject +(NSString *) connectUrl:(NSMutableDictionary *)params url:(NSString *) urlLink; @end .m文件 // // Mic