Bash CURL на php

У меня проблемы с переводом bash curl на PHP. Смотри, у меня это не работает. Я не знаю, как проверить, что это правильный код.

curl -X "POST" "https://someurl.com/oauth/token" \
 -H "Authorization: Basic eyJ...V6w" \
 --data-urlencode "grant_type=password" \
 --data-urlencode "scope=api" \
 --data-urlencode "[email protected]" \
 --data-urlencode "password=p...d"

Я пробовал с этим:

$query1 = urlencode("grant_type=password");
$query2 = urlencode("scope=api");
$query3 = urlencode("[email protected]");
$query4 = urlencode("password=loginpass");


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://someurl.com/oauth/token&".$query1."&".$query2."&".$query3."&".$query4."");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$headers = array();
$headers[] = "Authorization: Basic ZnVydGFzdGljLTZhMTAzNTE4Y2YyOGNhNmI3OTNhYzljNmJjM";

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
echo "</pre>";
print_r($result);
echo "</pre>";
if (curl_errno($ch)) {
  echo 'Error:' . curl_error($ch);
}
curl_close ($ch);

Вы пробовали использовать какой-нибудь php-код?

Rinsad Ahmed 13.09.2018 06:42
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
1
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать этот способ. Имейте в виду, что вы публикуете параметры. Таким образом, строка запроса не должна быть прикреплена к URL-адресу, а отправлена ​​как параметры сообщения.

$data = array(
    'grant_type' => 'password',
    'scope' => 'api',
    'username' => '[email protected]',
    'password' => 'p...d'
);


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://someurl.com/oauth/token");

$headers = array();
$headers[] = "Authorization: Basic ZnVydGFzdGljLTZhMTAzNTE4Y2YyOGNhNmI3OTNhYzljNmJjM";

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS,
    http_build_query($data));


curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);


curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_TIMEOUT, 0);


echo $response = curl_exec($ch);

Другие вопросы по теме