如何使用Http客户端在java中传递查询参数
我使用给定的代码在java中使用GETREST调用,但是我得到一个错误代码:404,即未找到。但是当我在浏览器中使用相同的URL时,我得到了输出,并且工作正常。我是JAVA新手。 可能是我错误地传递了查询参数,但我没有得到它。 我在NETBEANS 7.1.2中工作。请帮忙如何使用Http客户端在java中传递查询参数,java,http,rest,get,Java,Http,Rest,Get,我使用给定的代码在java中使用GETREST调用,但是我得到一个错误代码:404,即未找到。但是当我在浏览器中使用相同的URL时,我得到了输出,并且工作正常。我是JAVA新手。 可能是我错误地传递了查询参数,但我没有得到它。 我在NETBEANS 7.1.2中工作。请帮忙 import java.io.IOException; import java.io.OutputStreamWriter; import java.net.HttpURLConnection;
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();
}
}
这里我的钥匙是网站给我的钥匙
我还想在输出窗口或控制台上打印响应消息。因为我想在将来保存它,以便提取。
请帮助。这是您的代码。。使用它。它以
401 unauthorized
的形式向我发出响应,并在浏览器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!");
}
}
}
嗨,我读到了关于webservices(post和get)的文章,并对它有了一些很好的了解。我还使用了soapUI工具来进行GET服务调用,这是一项非常简单的工作。因为它是一个工具,所以它工作得很好,没有太多的代码编写。查看上面的代码,我认为我可以使用HTTPClient和HTTPUrlconnection类,在必要时编写java代码来替换输入,并进行一些GET和POST调用。如果我不想使用SOAPUI工具,请让我知道这是否是一件好事。是的,你可以使用它。。这是所有关于呼叫频率和数据负载。感谢快速回复;您能详细说明一下调用频率吗?您的代码/程序对目标URL的调用的重复性或对服务器的请求频率。