Android HTTP PUT请求可能与Post不同,因为它不起作用?

时间:2014-06-21 09:24:04

标签: android

以下是我如何使用POST并且它的工作原理:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));

HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
inputStream = httpEntity.getContent();

我不知道如何使用PUT,所以我得到了这个代码并且我将每个“Post”改为“Put” 但我认为它不起作用:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPut httpPut = new HttpPut(url);
httpPut.setEntity(new UrlEncodedFormEntity(params));
HttpResponse httpResponse = httpClient.execute(httpPut);
HttpEntity httpEntity = httpResponse.getEntity();
inputStream = httpEntity.getContent();

当我尝试使用此实现更新用户的帐户时,我从服务器收到错误。 - “没有会议。未经授权。” 当我使用具有相同参数的Chrome邮递员时,我没有遇到任何问题,所以我认为我的PUT实现不起作用。

1 个答案:

答案 0 :(得分:1)

您需要使用相同的DefaultHttpClient进行所有调用,因为您的会话信息存储在实例对象中。

如果您需要使用不同的实例,您可以从登录请求中获取Cookie,并使用getCookieStore/setCookieStore将其添加到下一个请求中。