当我尝试使用Java(Mac上的JVM)发送具有正确凭据的发布请求时,我得到了正确的响应代码302 FOUND。
但是当在android上使用相同的代码时,使用SAME正确的参数,我得到了响应CODE 200 OK。
发送帖子请求的代码:
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httpost = new HttpPost(POST_URL);
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("auth", "login"));
nvps.add(new BasicNameValuePair("login", login));
nvps.add(new BasicNameValuePair("password", password));
nvps.add(new BasicNameValuePair("set_cookie", "on"));
httpost.setEntity(new UrlEncodedFormEntity(nvps));
HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
答案 0 :(得分:0)
302 FOUND 是执行“重定向”的常用方法,似乎Android或MacJVM没有执行重定向。您使用的是相同的SDK版本吗?
尝试使用:
final HttpParams params = new BasicHttpParams();
HttpClientParams.setRedirecting(params, false);