首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.JS:如何在URL请求中使用百分比签名?

Node.JS:如何在URL请求中使用百分比签名?
EN

Stack Overflow用户
提问于 2018-07-15 08:07:41
回答 1查看 2.8K关注 0票数 1

我试图从Magento2请求一个简单的API搜索,但显然我不能在URL请求中使用%签名。还有其他方法可以在URL中使用百分比号吗?

  • %_%是后值。

请求链接:

代码语言:javascript
复制
const request_data = {
    url: 'http://.../rest/V1/products?searchCriteria[filter_groups][0][filters][0]'+
    '[field]=name&searchCriteria[filter_groups][0][filters][0][value]=%Example%'+
    '&searchCriteria[filter_groups][0][filters][0][condition_type]=like',
    method: 'GET',
};

控制台错误:

URIError: URI畸形 (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:227:27) at OAuth.deParamUrl (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:245:17) at OAuth.getParameterString (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:142:132) at OAuth.getBaseString (/User/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:124:130) at OAuth.getSignature (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:100:36) at OAuth.authorize (/Users/Kevin/Desktop/TestingModules/node_modules/oauth-1.0a/oauth-1.0a.js:87:39) at Object.module.exports.init (/User/Kevin/Desktop/TestingModules/test)js:36:43)在ContextifyScript.Script.runInThisContext :1:19 (vm.js:50:33)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-15 08:59:02

The Issue

%字符是url的转义字符,也是url中的url编码特殊字符的第一个字符,它表示编码字符的开始(由一个%和两个十六进制字符组成)。获得URIError的原因是,当对uri进行解析时,机器会看到%,然后查看接下来的两个字符,以确定正在编码的字符。因此,%Ex被误认为是字符的编码(但x不是十六进制字符,因此您得到了格式错误的URI)。有关更多信息,请参见https://en.wikipedia.org/wiki/Percent-encodinghttps://www.ietf.org/rfc/rfc1738.txt

解决方案

若要对百分比符号进行编码,请将%替换为%25,这是百分比符号的编码。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51346521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档