Intereting Posts
Вывод SQL-запроса в таблицу html Вставка столбцов NULL в NOT NULL со значением по умолчанию Как получить данные в представлении без foreach в codeigniter? Зашифрованные данные в URL-адресах PHP Удалить URL-адрес: «недопустимые» символы из строки Yii2 FileInput – попытка получить свойство не объекта Был запрошен псевдоним «ScnSocialAuth_ZendSessionManager», но никакая служба не найдена Codeigniter CSRF действителен только для одного запроса ajax Как заполнить значение типа входного файла из базы данных в PHP? API Google Analytics, как получить следующую страницу данных Какой HTML Parser (желательно PHP) поддерживает получение смещения текущего узла во входной строке? Показывать сообщения из нескольких фидов с помощью JSON WordPress, как установить длину выдержки сообщения до 100 символов и 200 символов Обновите поле выбора на родительской странице из FancyBox2 Объект класса mysqli_result не может быть преобразован в строку return mysql average

curl возвращает 400 плохих запросов без кавычек

curl -v 'something.com:12684/CAB/keyfile?r=ORE_0&t=VOD&p=1' 

возвращает 200, но используя

 curl -v something.com:12684/CAB/keyfile?r=ORE_0&t=VOD&p=1 

возвращает 400. Почему эти цитаты имеют значение?

У вашего URL есть символы, которые ваша оболочка распознает как специальные. Скорее всего, & , которое является сигналом для UNIX-ish-оболочек, чтобы поместить команду в фоновом режиме. Таким образом, вы эффективно выполняете три команды:

 curl -v something.com:12684/CAB/keyfile=?r=ORE_0 t=VOD p=1 

Вы не видите вывод ошибки оболочки, потому что последние два являются действительными конструкциями оболочки.

Всегда указывайте свои аргументы. Если в PHP используется escapeshellarg . Лучше, используйте встроенную curl или стороннюю библиотеку, такую ​​как Guzzle .