我現在在webview上有關於發佈請求的問題。 這裏是情況:當我的webview加載了一個登錄頁面,並且裏面有一個表單可以發出發佈請求。當我點擊提交按鈕時,如何爲它添加一個自定義標題。我如何添加自定義標題以在webview上發佈請求
1
A
回答
0
我跑進需要實現這樣的功能自己,所以我張貼運行任何代碼段將來也會出現同樣的問題。 我肯定會推薦使用OkHttp,但原則(在成功回調中提出請求並將HTML加載到瀏覽器中)應該與任何其他網絡客戶端相同。
protected void postURL(final String url, String postData) {
Request request = new Request.Builder()
.url(url)
.addHeader("Cache-Control", "max-age=0")
.addHeader("Origin", "null") //Optional
.addHeader("Upgrade-Insecure-Requests", "1")
.addHeader("User-Agent", webView.getSettings().getUserAgentString())
.addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8")
.addHeader("Accept-Language", Locale.getDefault().getLanguage())
.addHeader("Cookie", CookieManager.getInstance().getCookie(url))
.addHeader("X-Requested-With", BuildConfig.APPLICATION_ID)
.post(RequestBody.create(MediaType.parse("application/x-www-form-urlencoded"), postData))
.build();
new OkHttpClient().newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Timber.e(e.getMessage());
}
@Override
public void onResponse(Call call, final Response response) throws IOException {
final String htmlString = response.body().string();
webView.post(new Runnable() {
@Override
public void run() {
webView.clearCache(true);
webView.loadDataWithBaseURL(url, htmlString, "text/html", "utf-8", null);
}
});
}
});
}
注意,大多數這些頭都沒有要求,但可以作爲指導重建由web視圖本身
發出原始請求
0
您可以添加loadUrl(Strring url, Map<String, String> extraHeaders)
但這項工作只能在API18 +
另一種方式是
webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
// you can add custom header here
return super.shouldInterceptRequest(view, url);
}
});
相關問題
- 1. 添加自定義標題爲「請求」
- 2. 如何添加自定義標題來請求html頁面?
- 3. 如何添加自定義標題請求與cljs-http
- 4. 與HttpUrlConnection自定義WebViewClient - 爲每個請求(WebView)添加標頭
- 5. Xamarin Android:我如何打開添加標題並在webview中發送post請求
- 6. 添加自定義請求標頭
- 7. 如何在php中添加自定義請求標頭
- 8. 將自定義標題數據添加到Android HTTP請求
- 9. 向chai請求添加自定義http標題
- 10. 自定義標題未添加到請求對象
- 11. 發送一個自定義標題以及qtwebkit請求
- 12. 如何在Google Maps API標記上添加自定義標題?
- 13. 如何爲Ajax CORS請求添加自定義標頭
- 14. iphone發佈請求標題
- 15. Unity3D - 添加自定義標題,以WWWForm
- 16. 如何將自定義標題添加到改造請求正文部分?
- 17. c#web服務客戶端:如何添加自定義標題請求?
- 18. 如何使用C#將自定義標題添加到SOAP請求中?
- 19. 如何在發佈請求時在HTTP標頭中設置自定義變量
- 20. 如何將listView標題添加爲自定義佈局
- 21. 如何在自定義WordPress主題上添加徽標
- 22. 添加標題以改進請求
- 23. AngularJS CORS請求自定義標題
- 24. 如何在Android WebView請求上查看請求標頭?
- 25. 無法在PyQT4中添加自定義請求標頭
- 26. 如何在ASP.NET MVC中添加標題到我的請求中
- 27. 如何在HTTP請求中使用urllib2發送自定義標題?
- 28. 如何將HTTP請求標題添加到Silverlight RIA請求
- 29. 如何在反應本機中爲webView請求設置自定義標頭
- 30. 爲框架添加標題以發佈