Android中Webview開啟網頁的同時發送HTTP頭資訊方法_Android

來源:互聯網
上載者:User

眾所周知,當你點擊一個超連結進行跳轉時,WebView會自動將當前地址作為Referer(引薦)發給伺服器,因此很多伺服器端程式通過是否包含referer來控制盜鏈,所以有些時候,直接輸入一個網路地址,可能有問題,那麼怎麼解決盜鏈控制問題呢,其實在webview載入時加入一個referer就可以了,如何添加呢?

從Android 2.2 (也就是API 8)開始,WebView新增加了一個介面方法,就是為了便於我們載入網頁時又想發送其他的HTTP頭資訊的。

複製代碼 代碼如下:

public void loadUrl (String url, Map<String, String> additionalHttpHeaders)
Added in API level 8
Loads the given URL with the specified additional HTTP headers.
Parameters
url the URL of the resource to load
additionalHttpHeaders the additional headers to be used in the HTTP request for this URL, specified as a map from name to value. Note that if this map contains any of the headers that are set by default by this WebView, such as those controlling caching, accept types or the User-Agent, their values may be overriden by this WebView's defaults.

以下是一個簡單的demo,來展示以下如何使用。

複製代碼 代碼如下:

public void testLoadURLWithHTTPHeaders() {
    final String url = "http://jb51.net";
    WebView webView = new WebView(getActivity());
    Map<String,String> extraHeaders = new HashMap<String, String>();
    extraHeaders.put("Referer", "http://www.google.com");
    webView.loadUrl(url, extraHeaders);
}

同樣上面也可以應用到UserAgent等其他HTTP頭資訊。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.