在我封装的类里调用某涯网的 api 发现非常诡异的现象:
httpclient(无论任何 http 库)必须显式设置 headers 否则无论传入常量变量都报错
就是必须以 HttpRequest.get("someurl").headers(new HashMap<String,String>({{put('','');}}).body;的形式
如果是动态传入常量或变量
HashMap<String,String> h=new HashMap<String,String>({{ put('',''); }} HttpRequest.get("someurl").headers(h).body;
死活回显
{"code":"0","success":0,"message":"未知客户端请求","data":{}}
正常应该是
{"code":"1","success":1,"message":"成功","data":{}}
而我在 main 方法直接用同一 http 库动态传入 headers 调用接口却不会有这个错误.
这是什么情况?
1
ch2 2021-09-07 14:42:30 +08:00
抓 http 报文看一下就知道了
|
2
sutra 2021-09-07 14:45:26 +08:00
要设置 User-Agent 吧?
|
4
sutra 2021-09-07 17:01:22 +08:00
如果仔细看你给的代码,我都没看出来它俩有什么区别。
|
5
kingfalse 2021-09-07 18:29:21 +08:00 via Android
jsoup.connect()方法了解一下,hc 这玩意太重了
|
6
VKRUSSIA OP 粗心了。原来是 md5 大小写的原因,此贴终结
|