当前位置: 首页 > 知识库问答 >
问题:

在java中使用HttpURLConnection发送多个GET API请求

申屠恺
2023-03-14

我正在使用以下代码发送GET api请求。下面的url有一个参数,例如字符串url=”https://my/api“variable”test。我使用for循环遍历变量列表(超过2000个),并创建url以使用以下代码发送get API请求。我想并行发送多个API请求以减少总时间。请建议最好的方法。

    URL _url = new URL(url);
    HttpURLConnection con = (HttpURLConnection) _url.openConnection();

    Authenticator authenticator = new Authenticator() {
        public PasswordAuthentication getPasswordAuthentication() {
            return (new PasswordAuthentication(user,
                    password.toCharArray()));
        }
    };


    Authenticator.setDefault(authenticator);
    con.setRequestMethod("GET");
    con.setRequestProperty("Accept", "application/json");

   BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
   JSONObject Obj = new JSONObject(response.toString());

共有1个答案

穆旭尧
2023-03-14

建议您查看Java ExecutorService:https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html

您可以创建异步任务并在线程池中执行它们,然后等待结果完成。有几个很好的教程。

例如:https://www.baeldung.com/java-executor-service-tutorial

 类似资料:
  • 我有一个网络服务,我想用“应用/x-www-表单-urlencoded”内容类型调用它。请求有时包含特殊字符,如*-和......问题是目标Web服务不能完美地接收请求。它接收类似这样的: "////////////////w=="几乎所有字符都转到/。到底是什么问题? 这是我的密码: web服务接收:

  • 问题内容: 我正在向本地部署并使用JAVA Spark创建的本地服务发出POST请求。 我想使用进行POST调用时在请求正文中发送一些数据,但是每次JAVA Spark中的请求正文为null时。 下面是我为此使用的代码 Java Spark POST服务处理程序 HTTPClass进行POST调用 问题答案: 您应该仅在将参数写入主体后才调用,而不是之前。您的代码应如下所示:

  • 问题内容: 我已经开发了一个Java代码,该代码使用URL和HttpUrlConnection将以下cURL转换为Java代码。卷曲是: 我已经编写了此代码,但是它始终会给HTTP代码400错误的请求。我找不到丢失的内容。 问题答案: 你的JSON不正确。代替 写 因此,JSONObject.toString()应该只为外部对象调用一次。 另一件事(可能不是你的问题,但我想提一下): 为确保不会遇

  • 问题内容: 我想使用对服务器进行一些API调用。但是请求未成功,返回: 因此,我想检查发送到服务器的“真实”内容是什么。实际内容是指确切的HTTP请求。 有什么想法可以看到吗? 编辑: 根据此处的第一个答案,我应该澄清我的问题:我想避免使用外部程序(例如HTTP嗅探器)或其他任何东西,而我希望有一个函数或一个属性或任何包含我要查找的信息的东西。 如果不是这种情况,有人知道该信息是否可以手动重建(例

  • 我已经写了这段代码,但它总是给HTTP代码400错误的请求。我找不到丢失的东西。