HttpClient with WebView



我使用httpclient在webView中使用loadDataWithBaseURL显示网页。我的网站有一些链接,我想继续使用httpClient时,用户点击链接。有可能做到吗?在这种情况下,当用户单击链接时,我必须拦截链接,以便我的浏览器将加载它,然后停止加载它并使用HttpGet。这听起来够合理吗?

编辑:

是的,这是个好主意。首先设置一个客户端

comments.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url){
                String LinkTag = "";
                try {
                    LinkTag = client.httpGet(url);
                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (URISyntaxException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                comments.loadDataWithBaseURL("BaseWebUrl", LinkTag, "text/html", "utf-8", "");
                return true;
            }
        });

其次,你必须创建一个httpClient来处理你的post和Gets和其他方法

您需要做的是在您调用HttpClient hc = new DefaultHttpClient();后将其设置为您正在使用的第一个活动或类中的公共静态变量。然后当用户点击一个链接,你必须调用HttpGet,你将只设置new HttpClient newName = originalClass.hc;,这将存储你的cookies。

public class FirstClass{  
   public static HttpClient hc = new DefaultClient();
   {make the original get call}
public class NewClass{
    //new httpclient
    {HttpClient newHC = FirstClass.hc;}

最新更新