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 には何も送信されません。
この関数はOK
Appengine の外部と内部の両方で出力されますが、Appengine の外部でこの関数を使用した場合にのみ、データがデータベースに表示されます。
また、単純な Javaget
関数は、Appengine の外部と内部の両方で機能します。
誰でもこの問題を解決できますか? Appengine 内から Mongohq に投稿する方法を探しています。
ありがとう