1、報錯描述
一個接口,使用apifox
、postman
工具都可以測通;
但是java代碼請求不通;
2、代碼請求不通,大多數(shù)的情況
一般來說對于某個接口,只要接口調(diào)試工具或者瀏覽器能請求通,那么接口提供方極大概率沒有問題,主要還是請求代碼的問題。而請求代碼的問題大多數(shù)又是請求頭Header
的問題,這類問題的主要解決思路就是調(diào)整請求頭中的參數(shù)值,大致如下:Accept
:*/*
Host
:www.xxxx.com/xxx.xxx.xxx.xxx
如果需要請指定服務(wù)的域名或者IP地址User-Agent
:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36
Content-Type
:application/json;charset=UTF-8
或者將charset=UTF-8
取掉Connection
:keep-alive
以上的請求頭只要配置合適可以解決大多數(shù)的問題,即便是沒有,也可以根據(jù)網(wǎng)上的一些案例得到正確的配置解決問題。
3、代碼請求不通,報錯400的情況(重點說明)
如果說經(jīng)過很久的排查,請求頭Header
的方式并沒有解決問題,那么請參考下面的思路:
請檢查你的請求參數(shù)中有沒有中文?。?!
https://www.xxx.com/api/v1/dosth?p1=3675f132e490&p2=張三&p3=5a41754d9aac50898
類似上面的URL測試工具測試肯定是OK的,但是java代碼有很有可能測試不通,因為中文沒有encode轉(zhuǎn)碼,這個就是問題所在,因為測試工具和瀏覽器在轉(zhuǎn)發(fā)你的請求的時候按照HTTP協(xié)議把參數(shù)進行了encode編碼,而你的代碼很有可能沒有這一步,所以導致客戶端一直請求不到服務(wù)端,所以經(jīng)過encode編碼后,你可以使用下面的URL再試試;文章來源:http://www.zghlxwxcb.cn/news/detail-785768.html
https://www.xxx.com/api/v1/dosth?p1=3675f132e490&p2=%E7%A4%E4%BF%9D&p3=5a41754d9aac50898
因此解決問題的方向沒有問題,一邊需要檢查請求頭設(shè)置,另一方面要檢查請求參數(shù),也可能還有其他原因?qū)е逻@個問題,但是總能解決。文章來源地址http://www.zghlxwxcb.cn/news/detail-785768.html
到了這里,關(guān)于get/post請求使用工具(apifox/postman/瀏覽器)能請求通但是java代碼不行的問題解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!