0

当我尝试使用具有正确凭据的 Java(Mac 上的 JVM)发送发布请求时,我得到了正确的响应代码 302 FOUND。

但是当在 android 上使用相同的代码,使用相同的正确参数时,我得到响应 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();
4

1 回答 1

0

302 FOUND是执行“重定向”的常用方法,似乎 Android 或 MacJVM 没有执行该重定向。您使用的是相同的 SDK 版本吗?

尝试使用:

final HttpParams params = new BasicHttpParams();
HttpClientParams.setRedirecting(params, false);
于 2013-05-22T07:31:22.190 回答