我在使用 Java HTTP 时遇到问题。我正在尝试制作一个应用程序,它将向服务器发送特定请求,然后获取所需的数据。我已经找到了如何将 GET 发送到服务器,但我完全卡住了。我找到了很多解析 Google 搜索结果的方法,但没有有关其他网络资源的信息。例如,我想从某个网站对交通票进行自定义搜索 - 我应该做什么?如果它有帮助的话 - 这是我用于 GET 的代码。
public static void main(String[] args) throws UnsupportedEncodingException, MalformedURLException, IOException {
String url = "https://www.example.com/tickets/search";
String charset = java.nio.charset.StandardCharsets.UTF_8.name();
String param1 = "value1";
String param2 = "value2";
String query = String.format("param1=%s¶m2=%s",
URLEncoder.encode(param1, charset),
URLEncoder.encode(param2, charset));
URLConnection connection = new URL(url + "?" + query).openConnection();
connection.setRequestProperty("Accept-Charset", charset);
InputStream response = connection.getInputStream();
try (Scanner scanner = new Scanner(response)) {
String responseBody = scanner.useDelimiter("\\A").next();
System.out.println(responseBody);
}
}
最佳答案
对于这种需求,我喜欢使用DavidWebb用于调用 JSON REST 服务的轻量级 Java HTTP 客户端。以下是使用此库进行编码的方式(假设您期望结果为 JSON):
Webb webb = Webb.create();
JSONObject result = webb
.post("https://www.example.com/tickets/search")
.param("param1", "value1")
.param("param2", "value2")
.asJsonObject()
.getBody();
关于java - 如何使用 Java HTTP 搜索数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36549985/