簡體   English   中英

如何使用Http客戶端在java中傳遞查詢參數

[英]how to pass query parameters in java with Http client

我使用給定的代碼在java中使用GET REST調用,但我收到錯誤代碼:404即Not Found。 但是當我在瀏覽器中使用相同的URL時,我得到了輸出,它工作正常。我是JAVA的新手。 可能是我錯誤地傳遞了查詢參數,但我沒有得到它。 我在NETBEANS 7.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是網站給我的關鍵。

我還想在輸出窗口或控制台上打印響應消息。 因為我想將它存儲在將來進行一些提取。 請幫忙。

這是你的代碼..使用它。 它給出了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!");
              }
          }
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM