有一些網站正在使用odata協議來訪問api。 要加載用戶與特定的身份ID,例如,我可以用這個網址:用於url請求的帶單引號的PHP字符串
https://domain.com/contacts/?$filter=status_id eq 1
簡單明瞭。在這種情況下,我只是定義字符串,並得到預期的響應,且捲曲:
$ch = curl_init();
$query = 'https://domain.com/contacts/?$filter=status_id eq 1'
curl_setopt($ch, CURLOPT_URL, $query);
$response = curl_exec($ch);
但真正的問題始於此:
https://domain.com/contacts/?$filter=email eq '[email protected]'
這裏電子郵件與單引號包圍。我已經嘗試過單引號和雙引號字符串轉義:
$query = 'https://domain.com/contacts/?$filter=email eq \'[email protected]\''
$query = "https://domain.com/contacts/?\$filter=email eq '[email protected]'"
這一切都沒有奏效 - 我每次都收到請求錯誤。 但如果我在Ruby中運行這個 - 一切工作,因爲它expecteted:
RestClient.get "https://domain.com/contacts/?$filter=email eq '[email protected]'", []
我能做些什麼嗎? PHP的版本是5.3。
你的錯誤是什麼?適用於我,https://eval.in/547892 ..(不是在談論實際的網址)。 – chris85