我已经在我的网站上创建了一个API。
我制作的API使用mysql_real_escape_string剥离所有内容,然后将其放入数据库。
但我遇到的问题是我的php脚本用来访问API的URL有时会缩短......
我已缩小到其中一个参数...
当 Ford Mondeo 22'传递给simplexml_load_file的网址为
时http://mydomain.com/api/create.xml?api_number=brho15p6z1dhqwf5tsff&env=live&number=AJ20023232&title=Ford蒙迪欧22'& image = http://mydomain.com/wp-content/uploads/2012/10/914955-150x150.jpg
但API报告了以
方式访问的网址如果我删除单引号然后一切正常,任何想法如何纠正这个我怀疑在URL中传递变量时我忽略了一些东西
答案 0 :(得分:2)
“Ford Mondeo 22”中的空间值导致了这个问题。您不能在URL中有空格。您需要使用转义字符。参数的编码版本应为
福特%20Mondeo%2022'
%20是空格的转义字符
即。整个URL应如下所示:
http://mydomain.com/api/create.xml?api_number=brho15p6z1dhqwf5tsff&env=live&number=AJ20023232&title=Ford%20Mondeo%2022'&image=http://mydomain.com/wp-content/uploads/2012/10/914955-150x150.jpg
修改强> 您的评论表明您使用PHP。在PHP中,您可以使用urlencode($ foo)和urldecode($ foo)在普通字符串和编码字符串之间切换。