9

指定されたコードを使用してJavaでGETREST呼び出しを使用していますが、エラーコード404、つまりNotFoundが表示されます。しかし、ブラウザで同じURLを使用していると、出力が表示され、正常に機能しています。JAVAは初めてです。クエリパラメータを間違って渡した可能性がありますが、取得できません。私はNETBEANS7.1.2で作業しています。助けてください。

    import java.io.IOException;
    import java.io.OutputStreamWriter; 
    import java.net.HttpURLConnection; 
    import java.net.URL; 
       public class Test {
          private static String ENDPOINT ="http://wisekar.iitd.ernet.in/active/api_resources.php/method/mynode?";
          public static void main(String[] args) throws IOException 
          { 
              URL url = new URL(ENDPOINT + "key=" + "mykey"  );
              HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); 
              httpCon.setDoOutput(true);
              httpCon.setRequestMethod("GET");
             OutputStreamWriter out = new OutputStreamWriter( httpCon.getOutputStream());
             System.out.println(httpCon.getResponseCode());
             System.out.println(httpCon.getResponseMessage());
             out.close(); 
          }
   }

ここでmykeyはウェブサイトから私に与えられた鍵です。

また、出力ウィンドウまたはコンソールに応答メッセージを出力したいと思います。将来、抽出のために保存したいので。助けてください。

4

1 に答える 1

10

これがあなたのコードです。それを使ってください。それは401-Unauthorised私とブラウザのURLで同じ応答を与えています、これはVPNのいくつかの他の問題を引き起こす可能性があります。使用する場合

private static String ENDPOINT ="http://google.com"; 

それはあなたに与えるでしょう200-OK

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

       public class Test {
          private static String ENDPOINT ="http://wisekar.iitd.ernet.in/active/api_resources.php/method/mynode";
          public static void main(String[] args) throws IOException 
          { 
              String url = ENDPOINT;
              String charset = "UTF-8";
              String param1 = "mykey";

              String query = String.format("key=%s", 
                   URLEncoder.encode(param1, charset));
              java.net.URLConnection connection = new URL(url + "?" + query).openConnection();
              connection.setRequestProperty("Accept-Charset", charset);
              if ( connection instanceof HttpURLConnection)
              {
                 HttpURLConnection httpConnection = (HttpURLConnection) connection;
                 System.out.println(httpConnection.getResponseCode());
                 System.out.println(httpConnection.getResponseMessage());
              }
              else
              {
                 System.err.println ("error!");
              }
          }
   }
于 2012-07-03T10:23:17.373 に答える