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

发送请求后如何编辑方法

劳麒
2023-03-14

我想从一个网站得到四个值,但每一步都需要编辑参数。我以为我可以和执行者一起做,但我做不到。那么,我如何在发送之前编辑每个CompletableFuture中的参数?

        HttpRequest httpRequest = HttpRequest.newBuilder()
            .version(Version.HTTP_1_1)
            .uri(URI.create(sourceUrl))
            .header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
            .method("POST", BodyPublishers.ofFile(Paths.get("Resources/Payload.txt")))
            .build();

        ExecutorService executorService = Executors.newFixedThreadPool(4);

        HttpClient httpClient = HttpClient.newBuilder()
            .executor(executorService)
            .connectTimeout(Duration.ofSeconds(10))
            .build();

        CompletableFuture<HttpResponse<String>> a = 
            httpClient.sendAsync(httpRequest, BodyHandlers.ofString());

        CompletableFuture<HttpResponse<String>> b = 
            httpClient.sendAsync(httpRequest, BodyHandlers.ofString());

        CompletableFuture<HttpResponse<String>> c = 
            httpClient.sendAsync(httpRequest, BodyHandlers.ofString());

        CompletableFuture<HttpResponse<String>> d = 
            httpClient.sendAsync(httpRequest, BodyHandlers.ofString());
    }

共有2个答案

伍捷
2023-03-14

HttpRequest是有状态的,这意味着一个实例不能表示多个请求。

您必须为每个请求创建一个新实例。

邴烨
2023-03-14

只需使用HttpRequest。生成器并让它构建两个交替实例
一般来说,一旦您调用。build()在其上完成配置
例如,添加一个方法,该方法接受字符串,然后返回HttpRequest的实例
。。。基本意图是减少重复代码。

 类似资料:
  • 我使用下面的代码来创建一个条目在strapi服务器,但不幸的是,我得到了"坏请求"错误。我想不出来。请指导我如何解决这个问题。 ApiSet。班 主要活动。班 我的身体。班 还有我的模型课 数据班 属性。班 最后,我得到了如下回应: 我只是想知道我在哪里犯了错误

  • 我在网上找到了这个脚本: 但我不明白如何与PHP一起使用它,也不明白params变量内部的内容是什么,也不明白如何使用它。我能帮个忙吗?

  • 我试图在ajax调用中发布json请求,但我没有收到来自请求的任何成功响应。 请找到我下面的代码:我在这里做错了什么: 它击中了网址,我得到200确定状态,但它总是出错条件... 有人能帮忙吗,我需要改变什么工作: 我尝试了data:JSON. stringify({key:"value", key1:"value e1"})-但这也没有帮助

  • 我想在我的页面中使用x-edable,我从这个文档中学到了它。 html元素在这里: 我的控制器是: 但是,我一次又一次地出错,错误消息是这样的: {“timestamp”:1417250586743,“status”:400,“error”:“Bad Request”,“exception”:“org.springframework.web.bind.missingservletrequestp

  • 发送请求 发送同步请求 Web3j web3 = Web3j.build(new HttpService()); // defaults to http://localhost:8545/ Web3ClientVersion web3ClientVersion = web3.web3ClientVersion().send(); String clientVersion = web3Client

  • 问题内容: 我想将我的网址发送到(和)。 我当前的请求代码不起作用。 使用是 不是 一个容易回答。 问题答案: 在iOS中发送和请求非常容易。无需其他框架。 请求: 首先,将我们的(按需发送的内容)创建为,然后将其转换为。 目标 接下来,我们阅读的,因此我们可以将其传递给请求。 现在我们有了要发布的内容,我们可以创建一个,并包含我们的。 迅速 最后,我们可以发送请求,并通过创建新的请求来阅读回复: