没有URL编码的http_build_query()
|
有没有一种方法可以使用
http_build_query()
而不按照某些RFC标准对URL进行编码?
为什么我不想对所有内容进行URL编码:我正在查询Ebay API。.老实说,就括号中的逗号而言,他们坚持不对参数名称进行URL编码。例如。 DomainName(0)是一个参数,如果对这些括号进行了编码,查询将失败。
没有找到相关结果
已邀请:
10 个回复
扫窟
得到的结果字符串上使用
函数
郡豪靠暖
键盘。
古擅坛犯
。 PHP 5.4以上 http_build_query不会转义连接参数的\'&\'和号。示例:
例:
定位多个版本时的解决方案 选项#1:编写包装函数:
选项2:放弃http_build_query函数并编写自己的函数。
祁澈盘哼颗
无论应用名称是什么,您都需要填写ѭ9。此外,还需要将“ 10”设置为实际调用,如果调用不同,则修改JSON。
蹄渭信妥扳
没有编码,您将得到
正确编码后,您将获得
哪个是对的。如果您跳过编码,请确保避免URL注入攻击。
荆怖赡
上面的输出是
numeric_prefix:如果数组索引是数字,则此字符串将作为前缀添加到每个索引中。在这种情况下,\'test_0 = bar \'。 arg_separator:用于分隔参数。如果未指定php,请使用php.ini中定义的arg_separator.output 参见php http_build_query
坝胺绣敝
撵穆
广躺椽
琳娘
打印出来
但是我的api不喜欢方括号中的数字,因此我找到了删除数字的正则表达式-
最终代码和结果-
打印输出-
如果有人知道更好的正则表达式,请告诉我,我有点菜鸟了。