Запустите команду Curl на сервере Linux через переполнение стека

Мне нужно запустить команду curl на сервере Linux Wowza, и вот моя команда Curl, которую нужно выполнить на удаленной машине.

curl -X PUT --header 'Accept:application/json; charset=utf-8' http://localhost:8087/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/mystream/actions/restart --digest -u "user:password"

вот мой конвертированный керл в php

<?php
$url = 'http://localhost:8087/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/mystream/actions/restart';
$username = 'user';
$pass = 'password';
$ch = curl_init();
curl_setopt ( $ch, CURLOPT_URL, "$url");
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERNAME, "$username");
curl_setopt($ch, CURLOPT_PASSWORD, "$password")
curl_close ($ch);
?>

Любой совет будет полезно для меня, чтобы понять это. заранее спасибо

0

Решение

Вам не нужно заключать в кавычки ваши переменные. Так, например

curl_setopt ( $ch, CURLOPT_URL, "$url");

Должно быть

curl_setopt ( $ch, CURLOPT_URL, $url);

Во-вторых, вам нужно curl_exec в конце, чтобы фактически сделать запрос CURL сделать что-то

curl_exec($ch);

Наконец, в самом конце убедитесь, что вы можете отладить ответ каким-либо образом

if($err = curl_error($ch)) echo 'Error: ' . $err;

Вот как можно добавить свой заголовок

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:application/json', 'charset=utf-8'));

Ваше имя пользователя / пароль также неверно

 curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
2

Другие решения

Чтобы убедиться, что вы делаете запрос с использованием дайджест-аутентификации, я бы включил в ваш запрос php-curl следующие параметры:

curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);

Во-вторых, убедитесь, что в ваш запрос включены следующие заголовки:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept:application/json; charset=utf-8',
'Content-type:application/json; charset=utf-8'
));

Затем в вашей установке Wowza, подтвердите, что ваш Конфигурация server.xml Под элементом RestInterface имеется следующее:

<AuthenticationMethod>digest</AuthenticationMethod>

Наконец, если у вас возникнут дополнительные проблемы, вы можете добавить следующие элементы отладки для дальнейшего изучения любых оставшихся проблем с вашим запросом (в разделе Сервер-> RestInterface-> Свойства):

        <Property>
<Name>debugEnable</Name>
<Value>true</Value>
</Property>
0

По вопросам рекламы [email protected]