火山安卓的网页访问有问题吧?
本帖最后由 小星星 于 2025-5-10 18:08 编辑此问题已解决,原因是协议头里的这一项不能在火山里请求,去掉这个数据长度就好了。
近日使用此方法开发应用,经自己通过FD抓包得到的接口,
写在安卓里发现请求时提示如下。
网页访问失败状态码:-1
在PC端使用火山的网页访问助手也失败
但在精易的网页调试助手上能正常访问
已经确保了请求的地址、提交的数据、协议头完全一致,
下面提供的测试数据,如果token失效了也能正常返回数据,
也不至于返回错误呀,这是为什么?为什么在火山上就不行?
已经测试了 安卓网络操作类 和 无名模块里的网页_访问文本 仰望模块里的网络访问类都不行。
地址:https://ydcspcs.dongputech.com/gateway/interface
数据:{"action":"appMarket.appMarket.ship.webQueryShipList290","appid":"wg2zkto8e3jmvzmp","userId":"17633045709","token":"eyJUS19JRCI6IjE3NjMzMDQ1NzA5YTcxZTk4ZDUtZGI1ZC00MDUyLTg5MDUtZDBmMmIzMTI1M2QwIiwiYWxnIjoiSFMyNTYifQ.eyJyc2FQcml2YXRlS2V5IjoiTUlJQlZBSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NBVDR3Z2dFNkFnRUFBa0VBb3JwY1pNZUdLdkJobGQzRHlRa1I0RVFjUVZBQTlJRTEvaUVoS29IbnhuRWY4bnZWZ1d0MDRUbys4bnlBRGF5MHVBeS9EYTJEcE9xekpPZDRwbHJQR3dJREFRQUJBa0JJb0FYV1VKb1hsZHJucU9iVlZUL3VLRmUzNm4zU29jdzRGQThhU29ubnJTSVNKcjBhRkJuZ0N0di9mTlQyeXUrc1N5RnlxWmJlN2ovaWg5VXJ0bFd4QWlFQTlNbEFBcFVPcjhndERMYmgxL3NWU2hwSTFFMmFLLzlmcTh5NUlBUkdQRk1DSVFDcUxzUlRIeStkMHcxSWpHcTNLa1NHM2Z2UDg3L21sajRtSHJUTnd5QUpHUUlnVEtxVGY3dUxwQWFBQlpGcDNxbG5HNVJyNXdKL0hQU1kxRWdFVzBDN2RyMENJQk1PdDZlRFI0YkorcVBVTGFNalZaY3d4cUVyNzZKMzBxL2NJbTBrVzdNSkFpRUF6eTVCUWxHZU1pdC9ZejFHTE9TUU1kb3lKRnpaSGNuN05QbWk3M05SblljPSIsIm9wZW5JZCI6ImpEaXVJaEVKaXBFakZsc2tCZ2tncU5rdiIsImFwcElkIjoid2cyemt0bzhlM2ptdnptcCIsImV4cCI6MTc0OTI1OTg0OCwidXNlcklkIjoiMTc2MzMwNDU3MDkiLCJpYXQiOjE3NDY2Njc4NDh9.mELU3AGEtQi3Oj5_FTyn0tu4p2Tp5DgWHzfMEbUXkAs","req_time":1746667854217,"version":"V1.0","deviceParam":{"deviceName":"电脑","deviceType":"电脑"},"data":{"accountPhone":"","agentId":"150334","company":"","date":"2025-04-08,2025-05-08","dateType":"arrive","deliverType":"","pageNum":1,"pageSize":20,"phone":"5670","pickCode":"","shipId":"","smsStatus":"","state":"shipment_sendself","tag":"","timeOutFlag":false,"type":"4","badType":"","badTypeList":}}
协议头:Host: ydcspcs.dongputech.com
Connection: keep-alive
Content-Length: 1465
sec-ch-ua-platform: \"Windows\"\n"
sec-ch-ua: \"Microsoft Edge\";v=\"135\", \"Not-A.Brand\";v=\"8\", \"Chromium\";v=\"135\"
sec-ch-ua-mobile: ?0
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.0.0
Accept: application/json, text/plain, */*
DNT: 1
Content-Type: application/json; charset=UTF-8
Origin: https://ydcspcs.dongputech.com
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://ydcspcs.dongputech.com/
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cookie: token=eyJUS19JRCI6IjE3NjMzMDQ1NzA5YTcxZTk4ZDUtZGI1ZC00MDUyLTg5MDUtZDBmMmIzMTI1M2QwIiwiYWxnIjoiSFMyNTYifQ.eyJyc2FQcml2YXRlS2V5IjoiTUlJQlZBSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NBVDR3Z2dFNkFnRUFBa0VBb3JwY1pNZUdLdkJobGQzRHlRa1I0RVFjUVZBQTlJRTEvaUVoS29IbnhuRWY4bnZWZ1d0MDRUbys4bnlBRGF5MHVBeS9EYTJEcE9xekpPZDRwbHJQR3dJREFRQUJBa0JJb0FYV1VKb1hsZHJucU9iVlZUL3VLRmUzNm4zU29jdzRGQThhU29ubnJTSVNKcjBhRkJuZ0N0di9mTlQyeXUrc1N5RnlxWmJlN2ovaWg5VXJ0bFd4QWlFQTlNbEFBcFVPcjhndERMYmgxL3NWU2hwSTFFMmFLLzlmcTh5NUlBUkdQRk1DSVFDcUxzUlRIeStkMHcxSWpHcTNLa1NHM2Z2UDg3L21sajRtSHJUTnd5QUpHUUlnVEtxVGY3dUxwQWFBQlpGcDNxbG5HNVJyNXdKL0hQU1kxRWdFVzBDN2RyMENJQk1PdDZlRFI0YkorcVBVTGFNalZaY3d4cUVyNzZKMzBxL2NJbTBrVzdNSkFpRUF6eTVCUWxHZU1pdC9ZejFHTE9TUU1kb3lKRnpaSGNuN05QbWk3M05SblljPSIsIm9wZW5JZCI6ImpEaXVJaEVKaXBFakZsc2tCZ2tncU5rdiIsImFwcElkIjoid2cyemt0bzhlM2ptdnptcCIsImV4cCI6MTc0OTI1OTg0OCwidXNlcklkIjoiMTc2MzMwNDU3MDkiLCJpYXQiOjE3NDY2Njc4NDh9.mELU3AGEtQi3Oj5_FTyn0tu4p2Tp5DgWHzfMEbUXkAs
既然你会抓接口,那你就对比下火山发送的内容呗 我也遇到了相同的问题,同样的模式,同样的数据包,报文也一样,而且没有动态变量 edu 发表于 2025-5-9 11:50
既然你会抓接口,那你就对比下火山发送的内容呗
对比过了,我把火山发出去的内容原封不动的放到精易里就还是可以正常,在火山里还是-1
曜辉 发表于 2025-5-9 12:03
我也遇到了相同的问题,同样的模式,同样的数据包,报文也一样,而且没有动态变量 ...
你我请求的接口肯定不一样,所以排除了是这个接口有什么奇怪的特性,我觉的这是火山的某个地方有bug,要说自己写的代码有问题,怎么解释火山的网页调试助手也不行?要说接口有奇怪的检测,那精易助手又为什么可以访问呢,我觉得BUG的可能性大 gzip压缩的,需要解码,网络访问用字节数组,不要用文本,精易助手应该自带解码了 本帖最后由 小星星 于 2025-5-9 18:31 编辑
黑色毛嗑儿 发表于 2025-5-9 14:17
gzip压缩的,需要解码,网络访问用字节数组,不要用文本,精易助手应该自带解码了 ...
GZIP这个我知道,虽然协议头里有这个,但是它并不会压缩,。
而且即使是压缩的也是访问完毕后返回的数据再进行解压。
即使它是压缩的我就不解压直接解码,也是有数据的而不是空对象。
这个问题在于请求途中直接截断了返回错误码-1.用文本的和用字节数组的是一个道理,文本的实际上也是用的数组的,
这一点可以用打开源码所在位置看到的,他们是同源。
你看一下是不是协议头有什么问题 火绒 发表于 2025-5-10 11:27
你看一下是不是协议头有什么问题
协议头没问题,是协议头里提交数据长度的问题,只要加了那一项,火山就不能访问,不加就正常。 小星星 发表于 2025-5-10 18:07
协议头没问题,是协议头里提交数据长度的问题,只要加了那一项,火山就不能访问,不加就正常。 ...
昨天测试了一下,可以返回数据。响应头有Transfer-Encoding:chunked字段,是分段传输,确实没有Congtent-Encoding字段,不是gzip压缩的,跟请求头Congtent-Length字段没关系,有没有都无所谓。
页:
[1]
2