1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 爬虫 跨域请求 获取json数据 解决参数加密

爬虫 跨域请求 获取json数据 解决参数加密

时间:2024-05-04 21:36:41

相关推荐

爬虫 跨域请求 获取json数据 解决参数加密

分析网址--------------------------------提示 抓取对方信息是通过对方允许的 请不要违法操作 抓取其他个人有关信息

网址先发送了一个OPTIONS请求

Request URL: Request Method: OPTIONSStatus Code: 200 OKRemote Address: 47.90.111.000Referrer Policy: no-referrer-when-downgrade

再OPTIONS请求以后又发送了一个post请求

Request URL: http://Request Method: POSTStatus Code: 200 OKRemote Address: 47.90.111.91:80Referrer Policy: no-referrer-when-downgrade

因为post返回的是一个json数据 这种网址最容易进行抓取了

因为返回的json数据里面我们需要的信息几乎都在里面了

当时我自己用postman先进行模拟请求 同样的参数 同样的请求信息 怎么都获取不到对方的数据 post请求一直失败

请求参数 如下 某些参数我是删过的 避免对方信息泄露

countryId: 1page: 2pageSize: 20cityId: 194order: -1000language: cndeviceType: webdeviceId: Mozilla_NetscapeapiVersion: 2.0.1systemVersion: 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36signToken: 4de4c34c6b79045936c4f2c1863c893a

解决办法如下

from urllib import request, parseimport urllibimport gzip

url = 'http://'request_header = {'Accept': 'application/json, text/plain, */*','Accept-Encoding': 'gzip, deflate','Accept-Language': 'zh-CN,zh;q=0.9','Connection': 'keep-alive','Content-Type': 'application/x-www-form-urlencoded','Host': '','Origin': 'h,'Referer': f'http://ty','User-Agent': random.choice(deal_with_info.header_info())}# 利用urllib解决跨域问题req = request.Request(url) # 响应for key in request_header:req.add_header(key, request_header[key])response = request.urlopen(req, data=request_data)ret = gzip.decompress(response.read())

自己可以写一个脚本尝试一下 如果可以获取到则就成功了

请求参数 MD5加密

signToken: 4de4c34c6b79045936c4f2c1863c893a

signToken这个参数是前端js进行加密的

我在对方js里面找到了这个加密的算法

就是这种 自己一个一个里面去找一下

找到后进行分析后则明白对方是如何进行加密的了

加密前端有加密 后台肯定有对应的验证

找到规则就很简单了

有疑问可以留言 可以一起研究

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。