httpput身份验证无效

时间:2015-06-16 09:12:50

标签: java android http-status-code-401 http-put

我使用下面的代码在服务器上进行身份验证。

DefaultHttpClient Client = new DefaultHttpClient();
Client.getCredentialsProvider().setCredentials(AuthScope.ANY,
          new UsernamePasswordCredentials("username", "password"));

HttpGet get = new HttpGet(Url);
HttpResponse response = Client.execute(put);

如果我使用get,它对我来说会很好。

但是当我使用 HttpPut 时,它无效。

DefaultHttpClient Client = new DefaultHttpClient();
Client.getCredentialsProvider().setCredentials(AuthScope.ANY,
          new UsernamePasswordCredentials("username", "password"));

   HttpPut put = new HttpPut(Url);
   HttpResponse response = Client.execute(put);

我需要在服务器上传文件,因此需要使用HttpPut。

这将通过401(身份验证)错误。

任何人都有想法,我为什么要面对这个问题?

谢谢, 嵌入式团队

1 个答案:

答案 0 :(得分:1)

您可以通过httpGET进行身份验证,然后使用httpPUT上传文件,请务必保存cookies

为什么httpPut不起作用?可能是服务器端要求使用GET进行身份验证。但对GET使用auth请求肯定是个坏主意。