在Postman里面測驗沒問題,但是OkHttp中請求回來的確實HTML代碼
下面是Postman中的結果
上海發布的介面和交通卡公司的介面出來的結果都沒問題


但是上海發布的介面列印出來的卻是HTML代碼

交通卡公司的那個大部分情況下是不列印log,小部分情況顯示超時
以下是代碼
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_third, container, false);
Button submitNumber = (Button) view.findViewById(R.id.submit_number);
EditText editText = (EditText) view.findViewById(R.id.sptc_number);
// 獲取輸入的交通卡號碼
final String sptcNumber = editText.getText().toString();
submitNumber.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendRequestWithOkHttp(sptcNumber);
}
});
return view;
}
public void sendRequestWithOkHttp(final String cardNumber) {
new Thread(new Runnable() {
@Override
public void run() {
try {
OkHttpClient client = new OkHttpClient();
RequestBody requestBody = new FormBody.Builder()
.add("cardno", cardNumber)
// .add("arg1", cardNumber)
.build();
Request request = new Request.Builder()
.url("https://shanghaicity.openservice.kankanews.com/public/traffic/Jtkapi")
// .url("http://www.sptcc.com/servlet/CardAmtServelet")
.removeHeader("User-Agent")
.addHeader("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 OPR/62.0.3331.116")
.post(requestBody)
.build();
Response response = client.newCall(request).execute();
String responseData = response.body().string();
// System.out.println(responseData);
Log.d(TAG, responseData);
// parseJSONWithJSONObject(responseData);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
uj5u.com熱心網友回復:
對比一下postman的請求引數和你okhttp的請求引數uj5u.com熱心網友回復:
看看地址和傳的引數可對uj5u.com熱心網友回復:
我看審查元素里面的顯示的表單資料還有別人在ios上寫的捷徑,看到請求引數應該就cardno這一個,所以我postman里就傳了這一個試了試,發現可行之后我24-27行也就傳了cardno一個,但是他就回傳了個404網頁
uj5u.com熱心網友回復:
地址肯定沒問題的,引數的話表單資料還有別人在ios上寫的捷徑,只有cardno一項,就是只要傳入交通卡號就可以了,所以我再24-27行傳入的就是cardno,后來回傳的那行注釋網頁點開來顯示的是404 not found
uj5u.com熱心網友回復:
postman的默認請求頭跟okhttp默認的不一樣,你要看看請求頭的差異
uj5u.com熱心網友回復:
對比一下postman的請求引數和你okhttp的請求引數
我看審查元素里面的顯示的表單資料還有別人在ios上寫的捷徑,看到請求引數應該就cardno這一個,所以我postman里就傳了這一個試了試,發現可行之后我24-27行也就傳了cardno一個,但是他就回傳了個404網頁
postman的默認請求頭跟okhttp默認的不一樣,你要看看請求頭的差異
好的我看看
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/119705.html
標籤:Android
