java.io.IOException: Server returned HTTP response code: 400 for URL: https://open.douyin.com/item/comment/list/?open_id=fugbuyedwqjkidwehfuihweurf&access_token=act.fgvbuyewhdiowqjodfbheew&item_id=@8hhauTCnM4ltGM780mDqPP KPpR0qQOmLVAXb/T060zdRmYqig357zEBq6CZRp4NVe6qLIJW/V/x1w==&cursor=0&count=10&sort_type=time
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1900)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at com.bootdo.api.utils.DouyinUtil.getMap(DouyinUtil.java:58)
at com.bootdo.PublicDocuments.service.impl.douyin.DouYinServiceImpl.selectVideocommentlist(DouYinServiceImpl.java:252)
at com.bootdo.api.controller.douyin.DouYinController.selectVideocommentlist(DouYinController.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
这个是我报的错。
你会发挥自己请求的url直接在浏览器或者在postman里测试的时候是一点问题都没有。
其实这个是编码问题在自己的请求中带有特殊符号(@,==,&,*,$ , ! )这些这是特殊符号在程序里发起请求是需要处理
处理方式:
URLEncoder.encode(“你要请求的额参内容”,"utf-8")
例如
原来的错误的
https://open.douyin.com/item/comment/list/?open_id=@8hhauTCnM4ltGM780mDqPP
正确的
https://open.douyin.com/item/comment/list/?open_id=URLEncoder.encode("@8hhauTCnM4ltGM780mDqPP","utf-8")