gpt4 book ai didi

java - 高枕无忧 - 使用 RestAssured 进行测试时出现操作超时错误。但相同的端点在浏览器中工作正常

转载 作者:行者123 更新时间:2023-12-02 10:42:44 25 4
gpt4 key购买 nike

我有一个要使用 RestAssured 测试的端点。在浏览器/ postman 中打开它时,相同的端点工作正常。但是,在尝试使用 RestAssured 进行相同测试时,

我收到操作超时错误

我必须连接到代理才能使该端点在浏览器中工作。使用相同的代理也放心。

下面的示例代码:

given().proxy("My_Proxy_URL_HERE",8080).when().get("My_API_URL_Here").then().log().all();

我得到的响应为

"Operation Timed Out" with Status Code 503.

我需要您的建议,可能的问题是什么,如何调试等。任何建议都值得赞赏。提前致谢。

最佳答案

造成这种行为的原因有很多:

  • 该地址只是错误的,并且考虑到有一些负载均衡器/代理,可以将其配置为等待一段时间,然后以 503 状态代码进行响应。注意,503不是“请求超时”,而是“服务不可用”。

  • 请求网址很好,但请求缺少一些 header ,因此负载均衡器/代理无法将请求路由到所需的服务器。

如何检查这个?在这种情况下,有一些工具可以派上用场:

  1. 检查负载均衡器/代理甚至服务器(如果可能)的访问日志 - 并查看请求。

  2. 如果没有帮助,请尝试比较来自放心请求和常规请求的请求。您可以使用类似 Burp 的工具例如,还有其他的,或者您甚至可以自己推出。

这个想法很简单:在本地计算机的某个端口上启动“拦截器”(例如 9999)

配置拦截器将所有请求转发到您选择的代理(由 URL - My_Proxy_URL_HERE 和端口 8080 标识)。现在放心,必须调用 localhost:9999,该请求将被该工具拦截。您将能够检查其内容 - header 、正文、http 方法 - 一切。对浏览器请求执行相同操作并进行比较。

关于java - 高枕无忧 - 使用 RestAssured 进行测试时出现操作超时错误。但相同的端点在浏览器中工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52811464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com