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

在区分大小写模式下使用uri创建超文本传输协议请求

凤高澹
2023-03-14

我有一个https请求,其uri以大写字母开头。我在《邮递员》杂志上进行了测试,得到了回应;但是在我的vertx代码(io.vertx.core)中,我无法得到期望的响应。似乎目标服务器拒绝了我。似乎我想要的uri会自动变为小写。很遗憾,服务器不接受更改的模式。

所需uri: /Internalservice

https://example.com/Internalservice

我使用这个webClient:io。vertx。ext.web。客户

这是我的方法:

    public CompletionStage<HttpResponse> post(String host, int port, String uri, MultiMap headers, JsonObject body) {
        return client.post(port, host, uri)
                .putHeaders(headers)
                .timeout(requestTimeout.toMillis())
                .sendJsonObject(body)
                .toCompletionStage()
                .thenApply(response -> new HttpResponse(response.statusCode(), response.body() != null ?     response.body().getBytes() : new byte[]{}));
    }

如何处理这个区分大小写的uri?

共有1个答案

景书
2023-03-14

我找到答案了!我使用io.vertx.ext.web.client的WebClient创建了一个超文本传输协议post Request。有一种方法:HttpRequest postAbs(String aboluteURI),在它的纪录片中我们有:

 /**
   * Create an HTTP POST request to send to the server using an absolute URI, specifying a response handler to receive
   * the response
   * @param absoluteURI  the absolute URI
   * @return  an HTTP client request object
   */

所以它帮助了我!

我的方法是:

public CompletionStage<HttpResponse> post(String uri, MultiMap headers, JsonObject body) {
    return client.postAbs(uri)
            .putHeaders(headers)
            .timeout(requestTimeout.toMillis())
            .sendJsonObject(body)
            .toCompletionStage()
            .thenApply(response -> new HttpResponse(response.statusCode(), response.body() != null ? response.body().getBytes() : new byte[]{}));
}

正如您所看到的,这些参数与以前的版本不同。现在我可以输入<代码>https://example.com/Internalservice作为绝对uri。所需uri中不会有任何更改或转换。

 类似资料:
  • 在owncloud相关网站和stackoverflow自身的以下链接中,所有相关信息都以不完整的形式呈现: 用户配置Api-Owncloud 我试着做一些非常简单的事情: > 我得到这样的输出: 开始处理凭据,首先它将存储在本地变量中 Hello Frank 您的密码是frankspassword failure 997未经授权 在owncloud中创建了一个新用户 我还尝试使用以下php脚本登录

  • 我正在使用GWT和Spring controller来管理http流量。有些请求可能需要很长时间,但我希望在超过给定时间时终止请求。 我如何配置超时Spring。我也使用Apache Tomcat 7.0。我试图在tomcat上inrease最大线程,但有一段时间tomcat工作缓慢,因为请求线程不会死。

  • 我想知道你对这个概念的看法/意见。如果有替代方案?这是否可行/有益? 据我所知,对于每个http请求,服务器都会执行一些操作并返回http响应。 现在考虑任何场景,我们希望对服务器上运行的进程有更多的控制。 情景1:http请求发送- 在这里,资源被浪费了。 情况2:http请求发送- 在这里,客户端不知道服务器中运行的进程的状态。客户端必须等待,直到它获得超文本传输协议响应。 我的想法是:在初始

  • 这些天我正在学习如何使用谷歌排球。快速联网非常方便。似乎所有的请求都在Volley的后台运行。例如: 使用上面的代码,我们可以进行一个在后台运行的POST调用(非阻塞方式)。现在我的问题是:是否有可能以阻塞的方式进行POST呼叫?为什么我需要阻塞方式来进行REST呼叫?因为有些电话,比如签到,应该在做其他事情之前完成。 谢谢

  • 我有专有的基于http的API要从JMeter测试。不幸的是,API的一些endpoint希望http DELETE方法带有请求体(我知道它的API设计有问题,使用DELETE with request body,但我无法更改该API,需要对其进行测试)。 如何从JMeter测试它?似乎标准的HttpRequest采样器在没有任何警告的情况下默默忽略了我的身体有效载荷。(当我在《邮递员》中尝试它时

  • 我尝试使用以下方法从Api获取json数据 我将这个物体建模如下 数据如下: 当我尝试使用模型访问时,我收到错误“\u InternalLinkedHashMap”