3

当我尝试点击推送 URL 时出现 401 错误。我使用“应用程序密钥”作为用户名和“应用程序主密钥”作为密码的 HTTP BASIC 身份验证。我正在使用 JAVA HttpsUrlConnection 类。我不知道我的代码有什么问题。

 `            URL url = new URL("https://go.urbanairship.com/api/push");
          HttpsURLConnection connection = (HttpsURLConnection)url.openConnection();
          connection.setRequestMethod("POST");
          connection.setDoOutput(true);
          connection.setDoInput(true);
          connection.setUseCaches(false);
          connection.setRequestProperty("Content-Type","application/json");
          connection.setRequestProperty("Content-Length", Integer.toString(data.length()));

          String authString = "xxxxxxxxxxxxxxxxxx:yyyyyyyyyyyyyyyyy";
          authString = Base64Coder.encodeString(authString);
          connection.setRequestProperty("Authorization","Basic "+ authString);
          OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream());
          wr.write(data);
          wr.flush();

          int responseCode = connection.getResponseCode();

          //Get the response
          String responseLine = new BufferedReader(new InputStreamReader(connection.getInputStream())).readLine();`
4

1 回答 1

2

您的 authString 应该由<application-key>:<application-master-secret>. 此外,您的 authstring 可能未正确编码。尝试使用Apache Commons Codecostermiller库对 authstring 进行编码

于 2011-02-20T11:56:16.203 回答