Проблемы при установке string url, чей параметр строки запроса содержит символ доллара ($)


Я использую API WS JSON -

, URL -

https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType eq 2

- это пример API документация проходит. при игре в браузере располагается

https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType%20eq%202

, Но информация отображается

Моя проблема в том, когда я буду использовать API в PHP

Например,

 <?php $json = file_get_contents("https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType%20eq%202");
      $cliente = json_decode($json);

возвращает Мне следующее сообщение об ошибке

Notice: Undefined variable: filter in C:\xampp\htdocs\Maps\json.php on line 54

Warning: file_get_contents(https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType%20eq%202): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\xampp\htdocs\Maps\json.php on line 54

Author: Wallace Maxters, 2017-04-18

1 answers

Насколько я понимаю, параметр url-адрес имеет значение, называемое $filter.

На участке, где вы пытаетесь сделать запрос с помощью file_get_contents, вы используете двойные кавычки. Когда вы это сделаете, PHP интерпретирует значения, которые начинаются с $ в качестве значения переменной.

Это произошло потому, что вы используете двойные кавычки. Используйте только одинарные кавычки, что решит проблему.

$json = file_get_contents('https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType%20eq%202');

$cliente = json_decode($json);

Для получения дополнительной информации, пожалуйста, прочитайте:

Разница между одинарные и двойные PHP

 2
Author: Wallace Maxters, 2017-04-18 20:36:02