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

如何在下一个请求中使用响应报头中的位置?

墨宜人
2023-03-14

我正在用空手道测试做一些测试。

首先是一个职位,期待一个201和一个位置。

第二,使用位置from response来执行get。

有人知道我怎么用空手道吗?

下面的代码是我的尝试,在许多其他代码之后。

Given path 'alpha/test'
And request
"""
 {
   "id": '#(uuid)',
    "content": "test",
    "isActive": true
 }
"""
When method post
Then status 201
And def endpointLocation = responseHeaders['Location']
And print endpointLocation

Given url 'endpointLocation'
When method get
Then status 200
And match response ==
"""
 {
   "id": '#(uuid)'
 }
"""

但是我得到了:

18:30:12.819 [main] ERROR com.intuit.karate - org.apache.http.client.ClientProtocolException, http call failed after 252 milliseconds for URL: endpointLocation
18:30:12.820 [main] ERROR com.intuit.karate - http request failed: 
org.apache.http.client.ClientProtocolException
testApi.feature:263 -
org.apache.http.client.ClientProtocolException

我不明白为什么。

[编辑]

经过彼得的建议,我感谢!

打印返回:

08:59:33.610[主]信息网。凭直觉。空手道-[打印][”https://www.test.com/enpoint/4603b043-ea8c-470d-a5a9-2aa50aea4f75"]

现在我在呼唤

给定urlendpoint位置

我越来越

08:59:33.611[主]错误com。凭直觉。空手道http请求失败:java。网URISyntaxException:索引0处方案名称中的非法字符:[”https://www.test.com/enpoint/4603b043-ea8c-470d-a5a9-2aa50aea4f75“]fraudMgmtApi.feature:263-java.net.URISyntaxException:索引0处的方案名称中的非法字符:[”https://www.test.com/enpoint/4603b043-ea8c-470d-a5a9-2aa50aea4f75"]

我还尝试修剪第一个和最后一个角色,创建一个:

  • def trim = """ 函数(myText){结果=myText.substring(1,myText.length-1) } """

或者我的文本。切片(1,-1)

共有1个答案

柳玄裳
2023-03-14

从错误消息中:URL:endpointLocation的http调用在252毫秒后失败

很明显,您将url设置错误。如果endpointLocation变量设置正确,请首先尝试对其进行编码,然后进行此更改。您可以打印以进行检查。

Given url endpointLocation

 类似资料:
  • 我已经在标题中添加了CORS,但我仍然在请求中得到CORS问题。在头中添加和处理CORS和其他请求的正确方法是什么? 以下是服务文件代码: 错误: 对preflight请求的响应未通过访问控制检查:请求的资源上没有“access-control-allow-origin”标头。因此,不允许访问源“http://localhost:4200” 失败:(未知url)的Http失败响应:0未知错误 在我

  • 那么,这种情况下有没有变通的办法呢?我是否应该使用简单的rest客户端,比如reverfit,或者在每个新请求上创建新的ApolloClient和OkHttpClient实例,并带有所需的头集?或者也许还有别的变通办法?

  • 我正在做一个项目,在这个项目中我正在创作一本书。创建图书后,将生成唯一的bookId,响应如下所示: 我有一个GET请求,它基本上使用bookid-http://localhost:port/{bookId}获取书籍的详细信息。 每当我创建一本书时,我都会尝试得到上面的URL以便我的响应看起来像这样: 这样,如果用户单击URL,就会导航到GET请求http://localhost:port/{bo

  • 问题内容: 我试图打开登录页面(GET),获取网络服务器提供的cookie,然后提交用户名和密码对以登录网站(POST)。 看着这个Stackoverflow问题/答案,我认为我会做以下事情: 但是,标头中有一个,但该对象中没有改变。实际上,链接问题的回答将表明没有内容被填充。 我在代码中通过使用标头字典来解决此问题,并在执行GET或POST之后使用此标头处理: 然后在请求方法中传递标头。这是正确

  • 问题内容: 如何检索请求的响应标头?以下是我提出的要求。 提前致谢! 问题答案: 如果响应为类型,则可以从获取标头。 因此,当您使用Alamofire responseJSON时,可以像这样访问NSHTTPURLResponse属性: 正如苹果文件所说: 包含所有HTTP标头字段的字典,该字段作为服务器响应的一部分收到。通过检查此词典,客户端可以看到HTTP服务器返回的“原始”标头信息。 该词典中

  • 我想用kafka流实现请求-响应模式,我使用spring boot kafka,其中添加了一些数据作为报头,命名为关联id,但是当kafka流API处理请求消息时,报头数据会丢失,无法发送到响应主题!我该怎么解决,还是用另一种方法??