0

我只是想问一下使用HTTP get将其转换为android代码的正确方法是什么。

基本上我需要登录网站并进行一些特定的搜索...

这是我遇到问题的实际代码:

curl -H "Content-type: application/json" --basic --user "username:passowrd" -X GET -G \
--data-urlencode "status=triggered" \
--data-urlencode "assigned_to_user="\
"https://yourdomain.pagerduty.com/api/v1/incidents"

我不确定我是否可以使用 put..

例子:

object.put("--data-urlencode", status=triggered)

还有用户名和密码我不确定我是否也可以做这样的事情

object.put("username", "romel");
object.put("password", "passwd");
4

2 回答 2

1

如果您遇到 HTTP 基本身份验证问题,请尝试使用此代码设置您的用户名和密码...

HttpURLConnection con;
String basicAuthUsername = "username";
String basicAuthPassword = "passowrd"; //do you have a typo here??
try {
    URL url = new URL(urlString);  
    con = (HttpURLConnection)url.openConnection();

    if (basicAuthUsername != null && basicAuthPassword != null) {
        String userAndPass = new StringBuilder(basicAuthUsername).append(":").append(basicAuthPassword).toString();
        con.setRequestProperty("Authorization", "Basic " + Base64.encodeToString(userAndPass.getBytes(), Base64.NO_WRAP));
    }

    //con.setRequestMethod("POST");
    con.setRequestMethod("GET");

    con.setUseCaches(false);

    int responseCode = con.getResponseCode();

    //etc...
}
finally {
        //close con, etc.
}

...另外,也许你输错了密码??

于 2014-05-12T16:52:49.837 回答
0

您的问题不是太详细,所以我完全确定您在寻找什么 - 它是身份验证问题还是一般的 JSON?

在 Android 中处理 JSON 在一些地方得到了很好的介绍,包括Vogella 的教程

编写 JSON 非常简单,如 Vogella 的示例所示:

public void writeJSON() { 

 JSONObject object = new JSONObject();
 try {
    object.put("name", "Jack Hack");
    object.put("score", new Integer(200));
    object.put("current", new Double(152.32));
    object.put("nickname", "Hacker");
  } catch (JSONException e) {
    e.printStackTrace();
  }
  System.out.println(object);
} 

内容类型之类的标头也很容易添加到您的 HTTPGet 对象上,例如:

HttpGet httpGet = new HttpGet(API_URL);
        httpGet.setHeader("Accept", "application/json");
        httpGet.setHeader("Content-type", "application/json");

这些只是片段,使用上面链接的教程可以获得更好、更全面的解释。希望这可以帮助。

于 2012-12-13T16:58:35.187 回答