【发布时间】:2021-06-28 07:07:12
【问题描述】:
我正在使用 Jest 测试对包含西里尔字符的 URL 的 GET 请求,但它给了我以下错误:
#10 13.98 TypeError [ERR_UNESCAPED_CHARACTERS]: Request path contains unescaped characters
#10 13.98
#10 13.98 at Test.request (node_modules/superagent/src/node/index.js:785:18)
#10 13.98 at Test.Object.<anonymous>.Request.end (node_modules/superagent/src/node/index.js:949:8)
#10 13.98 at Test.end (node_modules/supertest/lib/test.js:153:7)
#10 13.98 at node_modules/superagent/src/request-base.js:311:12
#10 13.98 at Test.Object.<anonymous>.RequestBase.then (node_modules/superagent/src/request-base.js:293:31)
#10 13.98
我的代码是:
const response = await request.get("hааy.com").expect(200);
'a's 是西里尔字母。有什么想法吗?
【问题讨论】:
-
“请求路径包含未转义的字符” - 我想说正确转义它们应该可以工作,你试过吗?
-
encodeURI域名?encodeURI("hааy.com")产生"h%D0%B0%D0%B0y.com"。虽然。我希望这将由发出网络请求的库自动完成。 -
是的,我刚刚解决了这个问题。我必须对URI 进行编码并使用
\u0430而不仅仅是а。
标签: javascript testing jestjs get request