BUR CURL в PHP CURL перевод

У меня возникают проблемы при переводе следующего запроса из учебника (Mixpanel JQL), написанного на bash, в запрос PHP Curl:

Код Bash

# sends the JQL code in `query.js` to the api
# to a project with sample data for this tutorial
curl https://mixpanel.com/api/2.0/jql \
-u ce08d087255d5ceec741819a57174ce5: \
--data-urlencode [email protected] | python -m json.tool

Вопросы

  • В PHP, какие параметры CURL я должен использовать, чтобы сделать эквивалент;
  • Какой будет путь к сценарию (я предполагаю доступный URL-адрес HTTP?);
  • Что значит python -m json.tool на самом деле и нужно ли мне это?

Ссылка: https://mixpanel.com/help/reference/jql/getting-started

Спасибо вам.

0

Решение

Я предполагаю, что вы удалили свой пароль, так как -u это HTTP-аутентификация. В следующем примере пароль где вам нужно разместить его. (удалить звезды, хотя!).

python -m json.tool — это то, для чего передается команда curl, это форматер json. Поэтому я предполагаю, что ваш сервис возвращает формат json.

Я не уверен, какой у вас файл [email protected], поэтому я предположил, что это имя файла. И таким образом добавил к нему file_get_contents.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://mixpanel.com/api/2.0/jql");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "ce08d087255d5ceec741819a57174ce5:*password*");
curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode(file_get_contents("[email protected]")));
$result=curl_exec ($ch);
curl_close ($ch);
1

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

Вот что сработало, призыв к ba сделан на самом деле просто.

Вызов

Запросить URL (GET) https://mixpanel.com/api/2.0/jql?script=<javscript script contents>

В PHP

$scriptContents = file_get_contents(<FILE PATH>);
$request_url = 'https://mixpanel.com/api/2.0/jql?script='.urlencode($scriptContents);

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => <Request URL>,
CURLOPT_CONNECTTIMEOUT => 2,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPAUTH => 1,
CURLAUTH_ANY => 1,
CURLOPT_USERPWD => 'ce08d087255d5ceec741819a57174ce5',
));

$data = curl_exec($curl);
curl_close($curl);
0

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