0

我创建了一个在我的网站上使用的 API。

我制作的 API 使用 mysql_real_escape_string 剥离所有内容,然后将其放入数据库。

但我遇到的问题是我的 php 脚本用于访问 API 的 URL 有时会被缩短...

我已将其范围缩小到其中一个参数...

当它的Ford Mondeo 22'传递给 simplexml_load_file 的 URL 是


http://mydomain.com/api/create.xml?api_number=brho15p6z1dhqwf5tsff&env=live&number=AJ20023232&title=福特蒙迪欧22'&image=http://mydomain.com/wp-content/uploads/2012/10/914955-150x150。 jpg


但 API 将访问的 URL 报告为


http://mydomain.com/api/create.xml?api_number=brho15p6z1dhqwf5tsff&env=live&number=AJ20023232&title=福特


如果我删除单引号,那么一切正常,任何想法如何纠正这个我怀疑在 URL 中传递变量时我忽略了一些东西

4

1 回答 1

2

导致问题的是“Ford Mondeo 22'”值中的空格。URL 中不能有空格。您需要使用转义字符。参数的编码版本应该是

福特%20蒙迪欧%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) 在普通字符串和编码字符串之间切换。

于 2012-10-16T12:46:07.093 回答