0

postを使用して、AppEngine から mongohq サーバーにリクエストを送信しようとしていますrest api

私はこのコードを使用します:

public static void post(String id, String context)
{
  String urlString = "https://api.mongohq.com/databases/db/collections/collection/documents?_apikey=XXXXXXXXXX";
  String data = "{\"document\" : {\"_id\": \"" + id+ "\", \"context\":" + context +"}}";
  try
  {
    URL url = new URL(urlString);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();

    connection.setDoOutput(true);
    connection.setDoInput(true);
    connection.setInstanceFollowRedirects(false);
    connection.setRequestMethod("POST");
    connection.setRequestProperty("Content-Type", "application/json");
    connection.setRequestProperty("charset", "utf-8");
    connection.setRequestProperty("Content-Length", "" + Integer.toString(data.getBytes().length));
    connection.setUseCaches(false);

    DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
    wr.writeBytes(data);
    wr.flush();
    wr.close();
    System.out.println(connection.getResponseMessage());
    connection.disconnect();
  }
  catch (Exception e)
  {
      System.out.println("postToMongo: "+ e);     
  }
}

Appengine の外部からは完全に機能しますが、Appengine の内部から同じことを行うと、mongodb には何も送信されません。

この関数はOKAppengine の外部と内部の両方で出力されますが、Appengine の外部でこの関数を使用した場合にのみ、データがデータベースに表示されます。

また、単純な Javaget関数は、Appengine の外部と内部の両方で機能します。

誰でもこの問題を解決できますか? Appengine 内から Mongohq に投稿する方法を探しています。

ありがとう

4

1 に答える 1

0

これを試して:

 OutputStreamWriter writer;
 writer = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
 writer.write(message);
 writer.close();
于 2013-09-21T07:17:09.870 に答える