【发布时间】:2012-03-18 01:55:20
【问题描述】:
到目前为止我有这个代码:
private class DownloadWebPageTask extends AsyncTask<String, Void, String>
{
@Override
protected String doInBackground(String... theParams)
{
String myUrl = theParams[0];
String myEmail = theParams[1];
String myPassword = theParams[2];
HttpPost post = new HttpPost(myUrl);
post.addHeader("Authorization","Basic "+ Base64.encodeToString((myEmail+":"+myPassword).getBytes(), 0 ));
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response = null;
try
{
response = client.execute(post, responseHandler);
InputStream content = execute.getEntity().getContent();
BufferedReader buffer = new BufferedReader(
new InputStreamReader(content));
String s = "";
while ((s = buffer.readLine()) != null)
{
response += s;
}
}
catch (Exception e)
{
e.printStackTrace();
}
return response;
}
@Override
protected void onPostExecute(String result)
{
}
}
此代码无法编译,因为我在以下位置遇到了困惑:
response = client.execute(post, responseHandler);
InputStream content = execute.getEntity().getContent();
我通过修改各种示例获得了该代码,但不确定客户端应该是什么对象,以及第一行是否只会让我得到服务器响应,或者我必须走获取 InputStream 的路线和读取服务器响应?
请帮助我了解如何正确执行此操作。
谢谢!
【问题讨论】:
-
1. client 是 HttpClient 2. client.execute(...) 返回 HttpResponse,而不是 String 3. InputStream content = response.getEntity().getContent() (response mean HttpResponse);
-
@appserv 我很困惑什么是客户端对象 :) 如何获取客户端对象? :)
-
HttpClient 客户端 = new DefaultHttpClient();
标签: android android-asynctask digest-authentication