我使用下面的代码在服务器上进行身份验证。
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(身份验证)错误。
任何人都有想法,我为什么要面对这个问题?
谢谢, 嵌入式团队
答案 0 :(得分:1)
您可以通过httpGET
进行身份验证,然后使用httpPUT
上传文件,请务必保存cookies
。
为什么httpPut
不起作用?可能是服务器端要求使用GET
进行身份验证。但对GET
使用auth
请求肯定是个坏主意。