2011-09-29 83 views
0

我试图发送来自Android设备的GET请求到Web服务器,该服务器具有摘要式身份验证启用,我可以使用以下排序的代码进行身份验证,如何获得最后发送的HTTP请求的android

HttpHost host = new HttpHost(urlObj.getHost(), -1, null); 
CredentialsProvider cp = new BasicCredentialsProvider(); 
cp.setCredentials(scope, creds); 
HttpContext credContext = new BasicHttpContext(); 
credContext.setAttribute(ClientContext.CREDS_PROVIDER, cp); 

现在我的问题是每当我调用httpClient.execute()函数时,它首先发送请求而没有验证头,然后第二次使用正确的头文件。那么有没有什么办法可以指示HttpClient默认发送验证细节?

一种方法是存储上次发送的请求,但是,我也无法获取上次发送的请求。对此有何建议?

在此先感谢。

+0

我去解决,我用PreemptiveAuth类,最重要的是,我现在只创建一个连接到服务器,并重复使用相同的所有请求。 – pragnesh

回答

0

您可以使用HttpURLConnection来保存所有你需要的参数。我用它和display my source code here

url_connection定义那样

私人HttpURLConnection的url_connection; // WebService连接

url_connection =(HttpURLConnection)new URL(your_url_server).openConnection();

url_connection.setRequestMethod(“POST”); url_connection.setDoInput(true); url_connection.setDoOutput(true); ....