http - php 接口参数值中带有&符号怎么办
PHP中文网
PHP中文网 2017-04-11 10:02:01
[PHP讨论组]

比如对方给我提供了一个接口,我需要用这个接口去获取信息,
接口:http://www.xxx.com/getMsg
参数:name,url,id

假如name=John, url= http://www.xxx.com/article?aid=1&name=Show,id=1

那么接口字符串str拼接起来就是
http://www.xxx.com/getMsg?name=John&url=http://www.xxx.com/article?aid=1&name=Show&id=1

然后file_get_contents(str)发送

这里就有个问题了,
对方取到的数据是

name=John
url=http://www.xxx.com/article?aid=1
id=1

url少了&name=Show

请问如何解决

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
高洛峰

将url参数使用urlencode($url);转义下
由于&在url中属于参数分隔符,直接传带有&符号的参数,服务器解析不正确

天蓬老师

url的值转义一下

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号