HTTP Post工作但GET不起作用

时间:2013-05-16 08:36:40

标签: java parse-platform

我正在为我的登录系统使用parse.com的REST API(API:https://parse.com/docs/rest#users-signup)。

问题出在注册工作时:

        JSONObject json = new JSONObject();
    json.put("username", username);
    json.put("password", password);
    json.put("email", email);
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(Reference.PARSE_API_URL
            + Reference.PARSE_API_USERS);
    httppost.addHeader("X-Parse-Application-Id", Reference.APP_ID);
    httppost.addHeader("X-Parse-REST-API-Key", Reference.REST_API_KEY);
    httppost.addHeader("Content-Type", "application/json");
    httppost.setEntity(new StringEntity(json.toString()));
    HttpResponse httpresponse = httpclient.execute(httppost);
    System.out.println(httpresponse.getStatusLine());

登录系统不是(是的,我按照网站的说法加密数据):

            JSONObject jsonadd = new JSONObject();
        jsonadd.put("username", username);
        jsonadd.put("password", password);

        HttpClient httpclient = new DefaultHttpClient();
        HttpGet httpget = new HttpGet(Reference.PARSE_API_URL + Reference.PARSE_API_LOGIN + "?" + URLEncoder.encode(jsonadd.toString(), "UTF-8"));
        httpget.addHeader("X-Parse-Application-Id", Reference.APP_ID);
        httpget.addHeader("X-Parse-REST-API-Key", Reference.REST_API_KEY);
        HttpResponse httpresponse = httpclient.execute(httpget);
        System.out.println(httpresponse.getStatusLine());

这些是参考变量:

    public static final String APP_ID = "(HIDDEN)";
public static final String REST_API_KEY = (HIDDEN)";

public static final String VERSION_CLASS_NAME = "version";

public static final String PARSE_API_URL = "https://api.parse.com";
public static final String PARSE_API_URL_CLASSES = "/1/classes/";
public static final String PARSE_API_USERS = "/1/users";
public static final String PARSE_API_LOGIN = "/1/login";

错误:    HTTP / 1.1 400错误请求

1 个答案:

答案 0 :(得分:1)

回答我自己的问题:

数据不需要编码, 连接需要

HttpGet httpget = new HttpGet("https://api.parse.com/1/login?username="username"&password="password"");

(用户名和密码没有引号