gpt4 book ai didi

java - 如何在 Android 上将 POST 请求加载到带有 headers 和 body 的 Webview

转载 作者:行者123 更新时间:2023-12-02 04:41:08 27 4
gpt4 key购买 nike

所以我有一个 url、一堆 header 和一个正文,其中包含我需要加载到 Web View 的几个 json 格式的值。以下代码似乎不起作用。

public void createWebview(){

WebView webView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new MyWebViewClient());
String data = '{
"data1" : "data1",
"data2" : "data2",
"data3" : "data3"

}';

try {
webView.postUrl("https://www.example.com",data.getBytes("UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}

private class MyWebViewClient extends WebViewClient

{

@Override
public WebResourceResponse shouldInterceptRequest (WebView view, WebResourceRequest request)
{
request.getRequestHeaders().put("header1", "header1");
request.getRequestHeaders().put("header2", "header2");
request.getRequestHeaders().put("header3", "header3");
return super.shouldInterceptRequest(view,request);
}
}

非常感谢任何帮助。谢谢。

最佳答案

我认为也许你应该弄清楚流程的每个部分,

1) 在 onCreateView 上:- 声明 WebView :...

    WebView webView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new MyWebViewClient());
// Maybe you want to show Please wait Dialog to let user wait

inflateUI();

...2)然后你使用Retrofit请求一个Post来获取数据。...

void inflateUI() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {.. use Retrofit to get Data by Post }
}
}

....3)然后在Webview中更新数据。

改造:https://medium.com/@prakash_pun/retrofit-a-simple-android-tutorial-48437e4e5a23

关于java - 如何在 Android 上将 POST 请求加载到带有 headers 和 body 的 Webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56516756/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com