无法通过PHP接收标题信息,但需要邮递员

无法通过PHP接收标题信息,但需要邮递员,php,curl,php-curl,Php,Curl,Php Curl,我正在尝试在POST请求的头中获取令牌。对于Postman,它可以工作,但当我在PHP中运行它时,我得到了正确的内容,但无法提取标题信息 我复制了Postman中生成的PHP代码,但无法提取标题信息。我只知道内容 我使用的代码是: <?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://xxxx.yyyy.xy/xxxxxx/xxxxxxxxxxx", CURLOPT

我正在尝试在POST请求的头中获取令牌。对于Postman,它可以工作,但当我在PHP中运行它时,我得到了正确的内容,但无法提取标题信息

我复制了Postman中生成的PHP代码,但无法提取标题信息。我只知道内容

我使用的代码是:

<?php
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://xxxx.yyyy.xy/xxxxxx/xxxxxxxxxxx",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "Content-Type: application/x-www-form-urlencoded",
    "Postman-Token: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "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 = curl_init();

$Username = "XXXXXXXXX";
$Password = "YYYYYYYYYY";
$Credentials = base64_encode($Username.':'.$Password);
$Credentials_Auth = "Authorization: Basic ".$Credentials;
// echo "<br>Cred-auth: ".$Credentials_Auth."<br>";

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://XXXXXXXXX/YYYYYYYYYYY/ZZZZZZZZZZZ",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  **CURLOPT_HEADER => 1,**
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    $Credentials_Auth,
    "Content-Type: application/x-www-form-urlencoded",
    "cache-control: no-cache"
  ),
));
$response = curl_exec($curl);
$err = curl_error($curl);

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

**$header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$headers = substr($response, 0, $header_size);
$body = substr($response, $header_size);**

curl_close($curl);

**header("Content-Type:text/plain; charset=UTF-8");
echo $headers;
echo $body;**
?>

我找到了解决问题的方法: