HTTP-запрос с php curl и базовой аутентификацией - PullRequest
0 голосов
/ 30 октября 2019

Я использую php curl для вызова внешнего API, который требует базовой аутентификации. Я могу назвать это почтальоном и получить ответ. Тем не менее, кажется, что в противном случае самостоятельно. Вот как я это называю в php.

$form_details_url = "xxxx"; //url
$username = "xxx";
$password = "xxx";

echo "request " . $form_details_url . PHP_EOL;

$ch = curl_init();

if(!$ch){
  die("could not initiate curl handle");
}

curl_setopt($ch, CURLOPT_URL, $form_details_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, '1');
curl_setopt($ch, CURLOPT_VERBOSE, '1');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

$response = curl_exec($ch);
$err = curl_error($ch);

curl_close($ch);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  $result = json_decode($response, true);
  print_r($result);
}

die();

Этот фрагмент кода от почтальона, который дает мне ответ.


curl_setopt_array($curl, array(
  CURLOPT_URL => "xxxxxxxx",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "Authorization: Basic ZGl0LWNmaS1wZHgtcmVtb3RlOmRpdC1jZmktcGR4LXJlbXNsZWVw",
    "Content-Type: application/x-www-form-urlencoded",
    "Postman-Token: xxxxxxx",
    "cache-control: no-cache"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Любые предложения высоко ценится. Я думаю, что я неправильно подхожу к проблеме, связанной с аутентификацией в запросе php curl. Спасибо, любезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...