我正在实现一个Android应用程序,我必须在webview中添加自定义正文和标题来发布请求,但我还没有得到如何做到这一点。我得到的解决方案是如何在webview中添加自定义标题以发布请求,但我还没有得到如何在webview中添加自定义正文以发布请求。下面是我的标题和正文参数以及网址。
接头:
Content-Type : application/x-www-form-urlencoded
Content-Length : String.valueOf(params.length())
身体参数:
JSONObject jsonObjForReqBody = new JSONObject();
jsonObjForReqBody.put("Signature", signature);
jsonObjForReqBody.put("Token", token);
jsonObjForReqBody.put("Timestamp", timestamp);
jsonObjForReqBody.put("ServiceCardNumber", svcCardNo);
jsonObjForReqBody.put("DriverFirstName", person_first_name);
网址:
https://submittest.glassclaim.com/SelfService/Default.aspx?ClientTag=4E7B1611-E22A-4B38-9651-006CF6DFD71A
使用这些参数,一些数据将以加载的形式预先填充。
请帮帮我。我浪费了两天但没有得到任何解决方案。
答案 0 :(得分:0)
String url="https://submittest.glassclaim.com/SelfService/Default.aspx?ClientTag=4E7B1611-E22A-4B38-9651-006CF6DFD71A ";
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
JSONObject jsonObjForReqBody = new JSONObject();
jsonObjForReqBody.put("Signature", signature);
jsonObjForReqBody.put("Token", token);
jsonObjForReqBody.put("Timestamp", timestamp);
jsonObjForReqBody.put("ServiceCardNumber", svcCardNo);
jsonObjForReqBody.put("DriverFirstName", person_first_name);
String request = gson.toJson(formsDTO);
webview.setWebChromeClient(new WebChromeClient());
webview.loadUrl(url,getHeaders());
定义这样的标题
private Map<String,String> getHeaders() {
Map<String,String> headers = new HashMap<>();
headers.put("Authorization","JWT " + loginInfoDTO.getToken());
return headers;
}
private WebViewClient getWebViewClient()
{
return new WebViewClient()
{
@Override
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request)
{
view.loadUrl(request.getUrl().toString(), getHeaders());
return true;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url, getHeaders());
return true;
}
};
}