2011-09-29 21 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); ....