如何使用Http客户端在java中传递查询参数

我使用给定的代码在java中使用GET REST调用,但我收到错误代码:404即找不到。 但是当我在浏览器中使用相同的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!"); } } }