Java 请放心-使用Restassed进行测试时,获取操作超时错误。但相同的端点在浏览器中工作良好
我有一个端点要使用Java 请放心-使用Restassed进行测试时,获取操作超时错误。但相同的端点在浏览器中工作良好,java,rest-assured,Java,Rest Assured,我有一个端点要使用restassered进行测试。在浏览器/邮递员中打开该端点时,该端点工作正常。但是,在尝试使用重新启动测试时 我收到操作超时错误 我必须连接到代理才能使该端点在浏览器中工作。在rest assured中也使用了相同的代理 示例代码如下: given().proxy("My_Proxy_URL_HERE",8080).when().get("My_API_URL_Here").then().log().all(); 我得到的答复如下: “操作超时”,状态代码为503 我需要你
restassered
进行测试。在浏览器/邮递员中打开该端点时,该端点工作正常。但是,在尝试使用重新启动测试时
我收到操作超时错误
我必须连接到代理才能使该端点在浏览器中工作。在rest assured中也使用了相同的代理
示例代码如下:
given().proxy("My_Proxy_URL_HERE",8080).when().get("My_API_URL_Here").then().log().all();
我得到的答复如下:
“操作超时”,状态代码为503
我需要你的建议,什么可能是可能的问题,如何调试等任何建议是赞赏的。提前感谢。这种行为可能有很多原因:
- 地址是错误的,如果存在一些负载平衡器/代理,可以将其配置为等待一段时间,然后使用503状态代码进行响应。
注意,503不是“请求超时”,而是“服务不可用”
- 请求url很好,但请求缺少一些头,因此负载平衡器/代理无法将请求路由到所需的服务器
如何检查这个?在这种情况下,有一些工具可以派上用场:
检查负载平衡器/代理的访问日志,如果可能,甚至检查服务器的访问日志,并查看请求
如果没有帮助,试着比较来自rest-assured和常规请求的请求。您可以使用工具,例如,there's others,或者您甚至可以使用自己的工具
想法很简单:
在本地计算机的某个端口上启动“拦截器”(例如,9999)
将拦截器配置为将所有请求转发到您选择的代理(此处由URL-My_proxy_URL_和端口8080标识)。
现在,请放心,您必须调用localhost:9999,此工具将拦截请求。您将能够检查它的内容—标题、正文、http方法—所有内容。
对浏览器请求和比较执行相同的操作 您使用的是哪个IDE?您是否已将代理设置添加到IDE中?您不必在代码中定义代理