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

请问如何解决

阅读 5k
2 个回答

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

url的值转义一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题