我正在尝试从Android设备向Web服务器发送GET请求,服务器启用了摘要式身份验证,我可以使用以下类型的代码进行身份验证,
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 :(得分:0)
您可以使用 HttpURLConnection 来保存所需的所有参数。我用它和display my source code here。
url_connection被定义为
private HttpURLConnection url_connection; // WebService连接
url_connection =(HttpURLConnection)新网址(your_url_server).openConnection();
url_connection.setRequestMethod( “POST”); url_connection.setDoInput(真); url_connection.setDoOutput(真); ....