【问题标题】:Karate - Cookie rejected when it contains special characters空手道 - Cookie 在包含特殊字符时被拒绝
【发布时间】:2017-10-25 01:17:14
【问题描述】:

我们正在努力将响应 cookie 传递给后续请求,因为我们收到 Cookie Rejected 错误。我们也无法打印 cookie 响应:

这里有更多细节:给出请求和响应。看到最后的 Print 没有打印任何内容,并且在响应开始时有警告,我们认为这与不打印响应 cookie 有关。

 Scenario:                  
        * configure ssl = true
        Given url 'https://dvabc-qa.kdc.abc.com'
        Given path 'api/dp/v1/apps/user/login'
        And request {username: "test@abc.com", password: "1234"}
        When method post
        Then status 200
        * print responseCookies                                          
 Request                                                                       
1 > POST https://dvabc-qa.kdc.abc.com/api/dp/v1/apps/user/login
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Content-Length: 52
1 > Content-Type: application/json
1 > Host: dvabc-qa.abc.com
1 > User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_121)
{"username":"test@capone.com","password":"test1234"}                                  Response                                                                        14:48:30.700 [main] WARN  o.a.h.c.p.ResponseProcessCookies - Cookie rejected [X-AUTH-TOKEN="eyJ1c2VySW5mbyI6eyJ1c2VyRmlyc3ROYW1lIjoiVGVzdCIsInVzZXJMYXN0TmFtZSI6Ilh0ZXN0IiwidXNlcklEIjoiMTMxMTMx...", version:1, domain:.abc.com, path:/, expiry:null] Domain attribute ".abc.com" violates RFC 2109: host minus domain may not contain any dots
14:48:30.704 [main] WARN  o.a.h.c.p.ResponseProcessCookies - Cookie rejected [SSOID="test@abc.com", version:1, domain:.abc.com, path:/, expiry:null] Domain attribute ".abc.com" violates RFC 2109: host minus domain may not contain any dots
14:48:30.718 [main] DEBUG com.intuit.karate - 
1 < 200
1 < CUSTOMER_APP_DATA_REF_KEY: $2a$10$qnUQ.paqXvMEJSmu6G/BhL7d08oOFnSAVmOBVQjec3Umlme
1 < Cache-Control: no-cache, no-store, must-revalidate
1 < Connection: keep-alive
1 < Content-Type: application/json;charset=UTF-8
1 < Date: Mon, 23 Oct 2017 18:48:32 GMT
1 < Expires: Thu, 01 Jan 1970 00:00:00 GMT
1 < Pragma: no-cache
1 < SSOID: test@abc.com
1 < Set-Cookie: [X-AUTH-TOKEN="eyJ1c2VySW5joiVGVzdCwTaG93IjpudWxsLCJoYXNEaWFtb25kRGVhbGVyc2hpcHMiOmZhbHNlLCJub25EaWFtb25kRGVhbGVyQWNjZXNzRW5hYmxlZCI6ZmFsc2UsIm1mYVRva2VuIjpmYWxzZSwicmVzcG9uZGVkVG9BbGxUYyInVzZXJuYW1lIjoidGVzdEBjYXBvbmUuY29tIn0=.HzxYTNQGXk8n0HePKBcuk1ND5h6P8z4xvfaoJ5qah94="; Version=1; Domain=.abc.com; Path=/; HttpOnly, CUSTOMER_APP_DATA_REF_KEY=$2a$10$qnUQ.paPnsI9gqXvMEJSmu6G/BhL7d08oOFnSAVmOBVQjec3Umlme; Domain=.abc.com; Path=/; HttpOnly, SSOID="test@abc.com"; Version=1; Domain=.abc.com; Path=/; HttpOnly]
1 < Vary: Accept-Encoding,User-Agent
1 < X-AUTH-TOKEN: eyJ1c2VySW5mbyI6eyJ1c2VyRmlyc3ROYW1lIjoiVGVzdCIsInVzZXJMYXN0TmFtZSI6Ilh0ZXN0IiwidOiJ0ZXN0QGNhcG9uZS5jb20iLCJyYW5kb21UZXh0IjpudWxsLCJpbnRlcm5hbFVzZXJFbWFpbCI6bnVsbCwidXNlckRCJqb2JUaXRsZSI6IlNhbGVzIE1hbmFnZXIifSwiYWN0aXZlRGlyZWN0b3J5QWNjb3VudCI6ZmFsc2UsInRjVG9TaG93IjpudWxsLCJoYXNEaWFtb25kRGVhbGVyc2hpcHMiOmZhbHNlLCJub25EaWFtb25kRGVhbGVyQWNjZXNzRW5hYmxlZCI6ZmFsc2UsIm1mYVRva2VuIjpmYWxzZSwicmVzcG9uZGVkVG9BbGxUYyI6ZmFsc2UsInVzZXJuYW1lIjoidGVzdEBjYXBvbmUuY29tIn0=.HzxYTNk1ND5h6P8z4xvfaoJ5qah94=
1 < X-Frame-Options: SAMEORIGIN                                      
14:48:30.719 [main] DEBUG com.intuit.karate - response time in milliseconds: 583
14:48:30.726 [main] INFO  com.intuit.karate - [print]

【问题讨论】:

  • 一如既往,您确实需要提高您的问题描述技能。你是如何设置cookies的。尝试手动设置它们。如果您有请求和响应日志,请提供。天哪
  • @PeterThomas - 这次我已经更详细了。很抱歉之前没有详细说明。

标签: karate


【解决方案1】:

好的,这可能需要对空手道进行修复或增强。您能否提出改进请求。

Violates RFC 2109: host > minus domain may not contain any dots

同时,您能否尝试在您的pom.xml 中从karate-apache 切换到karate-jersey,看看是否会有所不同。

【讨论】:

  • 谢谢@Peter Thomas,我将打开一个增强请求。
  • 谢谢,更新 pom.xml 解决了这个问题。我们能够检索 cookie。
  • @peter Thomas ,从 karate-apache 切换到 karate-jersey 确实解决了这个问题。谢谢!
猜你喜欢
  • 2017-01-27
  • 2020-05-26
  • 1970-01-01
  • 2020-07-25
  • 1970-01-01
  • 1970-01-01
  • 2014-10-16
  • 2011-03-25
  • 2020-12-25
相关资源
最近更新 更多