Преобразование команды Shell Curl в PHP - PullRequest
0 голосов
/ 04 июля 2019

Я использую API , который я нашел в Интернете для запросов к удаленному демону Grin с помощью curl.Я пытаюсь преобразовать приведенный ниже запрос bash curl в PHP, но я не уверен, как передать .api_secret, используя PHP-библиотеку curl.

Bash

$ curl -0 -XPOST -u grin:`cat ~/.grin/floo/.api_secret` --data '{"jsonrpc":"2.0","method":"retrieve_summary_info","params":[true, 10],"id":1}' http://127.0.0.1:13420/v2/owner

Основная часть этой команды, в которой я запутался, такова:

grin:`cat ~/.grin/floo/.api_secret`

Как преобразовать указанную выше команду в формат PHP? Это то, что я имею до сих пор :

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://127.0.0.1:13420/v2/owner');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"jsonrpc\":\"2.0\",\"method\":\"retrieve_summary_info\",\"params\":[true, 10],\"id\":1}");
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
return $result;
curl_close($ch);

1 Ответ

1 голос
/ 04 июля 2019

Как говорит treyBake, вы можете получить его, используя file_get_contents и отправив его в cURL с опцией CURLOPT_USERPWD. Вот так:

// your path needs to either be relative or full, no '~' allowed
// example: '/home/grin/.grin/floo/.api_secret'
$secret = file_get_contents(PATH);
if (!$secret)
    return;

curl_setopt($ch, CURLOPT_USERPWD, "grin:$secret");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...