2012-10-16 54 views
0

我已經創建了一個在我的網站上使用的API。URL只是刪除參數

我製作的API使用mysql_real_escape_string去除所有內容,然後將其放入數據庫中。

但我遇到的問題是,我的PHP腳本使用訪問API的URL被切斷,有時短...

我已經縮小到的參數之一...

當其蒙迪歐22'傳遞給使用simplexml_load_file URL是


http://mydomain.com/api/create.xml?api_number=brho15p6z1dhqwf5tsff&env=live&number=AJ20023232&title=Ford蒙迪歐22' &圖像= 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=Ford


如果我刪除了單引號,然後一切正常好,任何想法如何糾正這一點我懷疑有一些東西我忽略了在URL中傳遞變量時

回答

2

這是「福特蒙迪歐22」價值導致問題的空間。網址中不能有空格。你需要使用轉義字符。該參數的編碼版本應該是

福特%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)在普通字符串和編碼字符串之間切換。

+0

感謝有沒有辦法在PHP中做到這一點?最好是整個網址。 – user1639745

+0

是的。使用urlencode($ foo) –