首页 > 解决方案 > 西里尔 URL 字符上的 TypeError?

问题描述

我正在使用 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 是西里尔字母。有任何想法吗?

标签: javascripttestingjestjsgetrequest

解决方案


如果将来有人遇到此问题,我会通过以下操作解决此问题:

const response = await request.get(encodeURI("h"+"\u0430"+"ay.com")).expect(200);

推荐阅读