苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 25979|回复: 9

[学生提问] POST 提交返回【远程服务器返回错误: (400) 错误的请求】

[复制链接]
发表于 2016-12-3 15:46:56 | 显示全部楼层 |阅读模式
同一个网站,同一个页面有好多接口,我翻了js代码,这些接口调用的都是同一个ajax类函数,只是地址和数据参数有所变化。
其他的接口我都调用成功了,唯独这一个接口始终报错,我毫无头绪……下图是网页端提交和我代码提交的保温对比……

网页端抓下来的报文:

网页端提交时抓到的报文

网页端提交时抓到的报文


我用代码模拟提交时抓下来的报文

我的代码提交时抓到的报文

我的代码提交时抓到的报文


实在是一筹莫展……希望苏前辈能给点指点



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2016-12-5 08:39:26 | 显示全部楼层
expect:100-continue把这个去掉看看
 楼主| 发表于 2016-12-5 11:55:16 | 显示全部楼层
站长苏飞 发表于 2016-12-5 08:39
expect:100-continue把这个去掉看看

还是返回【400请求错误】……
发表于 2016-12-5 13:44:28 | 显示全部楼层
你敢把抓到的包贴出来让别人帮你试试吗?(别光发图片,谁没有会比着你图片一个字母一个字母的去打呢?)
 楼主| 发表于 2016-12-5 14:32:01 | 显示全部楼层
站长苏飞 发表于 2016-12-5 13:44
你敢把抓到的包贴出来让别人帮你试试吗?(别光发图片,谁没有会比着你图片一个字母一个字母的去打呢?)

要测试这个这个接口需要先进行三步提交动作来确认身份……

第一步:
"http://issue.cpic.com.cn/ecar/view/portal/page/common/login.html"这个页面进行登陆。

登陆接口调用方式如下:
postURL(AJAX请求):“http://issue.cpic.com.cn/ecar/j_spring_security_check
refererURL:“http://issue.cpic.com.cn/ecar/view/portal/page/common/login.html
postData:j_password=71585895683c14f1641b7a6b91addd4b939d38baab3671627aa1fe2e109a7e8a&j_username=lystbxdl3&verify_code=123

注:postData里面verify_code 字段是验证码,我验证码用的是手动输入的方式……验证码的获取地址是
http://issue.cpic.com.cn/ecar/au ... ?0.5845302443893035

burp截取的报文如下:
POST /ecar/j_spring_security_check HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: text/plain, */*; q=0.01
X-Requested-With: XMLHttpRequest
Referer: http://issue.cpic.com.cn/ecar/view/portal/page/common/login.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Content-Length: 113
DNT: 1
Host: issue.cpic.com.cn
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: route=ff5f858a4f7deaa2b2721bed24817bd4; JSESSIONID=XWXNkO7sTi90U8s-ToHI9XMqi4FueDE5-ueyuBRmX8vi5Hb8THPL!544286022; login_sign=

j_password=71585895683c14f1641b7a6b91addd4b939d38baab3671627aa1fe2e109a7e8a&j_username=lystbxdl3&verify_code=mbhu


第二步:

postUrl(AJAX请求):“http://issue.cpic.com.cn/ecar/auth/queryFastLoginInfo
refererUrl:“http://issue.cpic.com.cn/ecar/vi ... /partnerselect.html
postData:“{\"meta\":{},\"redata\":{}}”
截取的报文如下:
POST /ecar/auth/queryFastLoginInfo HTTP/1.1
Content-Type: application/json;charset=utf-8
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Referer: http://issue.cpic.com.cn/ecar/vi ... /partnerselect.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Content-Length: 23
DNT: 1
Host: issue.cpic.com.cn
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: route=ff5f858a4f7deaa2b2721bed24817bd4; JSESSIONID=O6fNrfBY2tbHKlaBln0dWvPadrrvnmrwXBFqHy4mlnLozsOyvgBB!544286022; login_sign=

{"meta":{},"redata":{}}


第三步:
第二步的返回结果是个json串,需要解析他的json来作为第三部的提交数据。
postUrl(AJAX请求):"http://issue.cpic.com.cn/ecar/j_spring_security_check";
refererURl:"http://issue.cpic.com.cn/ecar/view/portal/page/common/partnerselect.html"
postData:
string.Format("access_token={0}&partner_code={1}&j_username=lystbxdl3&agent_code={2}",
jsonRes["result"]["userAuthVos"][0]["accessToken"].ToString(),jsonRes["result"]["userAuthVos"][0]["partnerCode"].ToString(),jsonRes["result"]["userAuthVos"][0]["agentAuthVos"][0]["agentCode"].ToString());

截取的报文如下:
POST /ecar/j_spring_security_check HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: text/plain, */*; q=0.01
X-Requested-With: XMLHttpRequest
Referer: http://issue.cpic.com.cn/ecar/vi ... /partnerselect.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Content-Length: 96
DNT: 1
Host: issue.cpic.com.cn
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: route=ff5f858a4f7deaa2b2721bed24817bd4; JSESSIONID=FZrNrD96PPopXlS0BCnqRp1J35x4Lc5mNUD74gAei_U-HpTNBg17!544286022; login_sign=

access_token=J8n5TaJvT8OdicMv7RuUoQ&partner_code=4S113253&j_username=lystbxdl3&agent_code=L00046



 楼主| 发表于 2016-12-5 14:36:31 | 显示全部楼层
站长苏飞 发表于 2016-12-5 13:44
你敢把抓到的包贴出来让别人帮你试试吗?(别光发图片,谁没有会比着你图片一个字母一个字母的去打呢?)

前三个接口依次调通后,就通过身份验证了,然后就可以调用报400错误的接口了……

400错误的接口报文如下:
POST /ecar/ecar/quickSave HTTP/1.1
Content-Type: application/json;charset=utf-8
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Referer: http://issue.cpic.com.cn/ecar/vi ... urance/carInfo.html
Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
Content-Length: 963
DNT: 1
Host: issue.cpic.com.cn
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: route=ff5f858a4f7deaa2b2721bed24817bd4; JSESSIONID=UavNsAp5GvQ8Om2TcC8GSn4Jrh1aoWHDSRgJg-GmOrWBa8ForXY_!544286022; login_sign=


{'meta':{},'redata':{'plateNo':'豫C3N505','plateType':'02','plateColor':'1','carVIN':'LJ12EKR29E4775919','engineNo':'E3490000','stRegisterDate':'2014-01-06','usage':'101','vehicleType':'01','vehiclePurpose':'01','isCarInsure':'','modelType':'哈弗CC6461RM0K多用途乘用车','moldCharacterCode':'CCAAMD0423','producingArea':'0','factoryType':'哈弗CC6461RM0K多用途乘用车','negotiatedValue':'96953.00','loan':'0','specialVehicleIden':'','stChangeRegisterDate':'','relationship':'1','fuelType':'0','tpyRiskflagCode':'003','ownerName':'张小伟','ownerProp':'1','certType':'1','certNo':'410328198411074537','trafficType':'','transitType':'','engineCapacity':'1.497','power':'110','seatCount':'5','tonnage':'','emptyWeight':'1560','shortcutCode':'HF-CC6461RM0K','reductionType':'0','vehiclePowerJY':'110','oriEngineCapacity':'1.497','address':'','jyFuelType':'D1','purchasePrice':'121800','actualValue':'96953.00','tpyRiskflagName':'C','plateless':false}}
 楼主| 发表于 2016-12-5 17:04:15 | 显示全部楼层
站长苏飞 发表于 2016-12-5 13:44
你敢把抓到的包贴出来让别人帮你试试吗?(别光发图片,谁没有会比着你图片一个字母一个字母的去打呢?)

站长,原因找到了……是我这个发送的json串用的单引号……对面框架不认……改成双引号就行了
发表于 2016-12-5 17:06:12 | 显示全部楼层
w33559971 发表于 2016-12-5 17:04
站长,原因找到了……是我这个发送的json串用的单引号……对面框架不认……改成双引号就行了

那挺好,刚看到,周一今天比较忙。一直没空来论坛
 楼主| 发表于 2016-12-5 17:29:02 | 显示全部楼层
站长苏飞 发表于 2016-12-5 17:06
那挺好,刚看到,周一今天比较忙。一直没空来论坛

还是谢谢站长的关注~
发表于 2016-12-5 21:26:33 | 显示全部楼层
看到这帖子真是高兴!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-28 13:58

© 2014-2021

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