java - 如何使用 Java HTTP 搜索数据?

标签 java http search get

我在使用 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&param2=%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/

相关文章:

java - Cloud Foundry 中的 manifest.yml 文件是什么?为什么需要它?

java - 用于多线程的 CookieManager

docker - Docker中的Artifactory重定向到不同的端口

search - Docker 1.6 和 Registy 2.0

python - 如何找到文件中连续重复字符分组的最长链

java - 在循环中创建 JButton 会导致仅出现最后一个

java - Lettuce 在集群中进行故障转移

java - 在 Java 中从字符串中获取单词并将其更改为小写。

python - 在解决所有重定向之后但在使用 urllib2 下载页面之前,如何拦截请求?

html - 如何为动态网站完成 SEO?每个页面是否单独建静态?