Заголовок PHP API Curl не имеет поля авторизации, проходящего через - PullRequest
0 голосов
/ 25 октября 2019

Я создал PHP API и добавил код Curl ниже для отправки через авторизацию в заголовке

curl_setopt_array($curl, array(
  CURLOPT_URL => "http://MyWebSite.com/v2/APIlanding",
  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(
    "Accept: */*",
    "Accept-Encoding: gzip, deflate",
    "Authorization: Basic MTIzNDU2Nzg5OjU0NjU0NjU0NjU0NjU0",
    "Cache-Control: no-cache",
    "Connection: keep-alive",
    "Content-Length: 0",
    "Host: MyWebSite.com",
    "Postman-Token: 844ea690-ee71-4e8e-bdc6-8ee73992ee9a,76a1d1c9-b571-4557-a162-c1f0b7660e50",
    "User-Agent: PostmanRuntime/7.18.0",
    "cache-control: no-cache"
  ),
));

Проблема в том, что не все значения заголовка передаются через?

Может кто-нибудь сообщить, почему это так?

Это значение, которое поступает в точку приземления API.

Results: Array
(
   [USER-AGENT] => PostmanRuntime/7.18.0
   [POSTMAN-TOKEN] => 844ea690-ee71-4e8e-bdc6-8ee73992ee9a,76a1d1c9-b571-4557-a162-c1f0b7660e50
   [CACHE-CONTROL] => no-cache, no-cache
   [ACCEPT-ENCODING] => gzip, deflate
   [ACCEPT] => */*
   [CONNECTION] => close
   [X-ACCEL-INTERNAL] => /internal-nginx-static-location
   [X-REAL-IP] => xxx.xxx.xxx.xxx
   [HOST] => MyWebSite.com
)

1 Ответ

0 голосов
/ 25 октября 2019

Работает, возвращает все заголовки с этим ...

<code><?php

//REQUEST

function get_web_page( $url,$curl_data )
{
    $options = array(
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => $curl_data,
        CURLOPT_HTTPHEADER => array(
            "Accept: */*",
            "Accept-Encoding: gzip, deflate",
            "Authorization: Basic MTIzNDU2Nzg5OjU0NjU0NjU0NjU0NjU0",
            "Cache-Control: no-cache",
            "Connection: keep-alive",
            "Content-Length: 0",
            "Host: MyWebSite.com",
            "Postman-Token: 844ea690-ee71-4e8e-bdc6-8ee73992ee9a,76a1d1c9-b571-4557-a162-c1f0b7660e50",
            "User-Agent: PostmanRuntime/7.18.0"
        )   
    );

    $ch      = curl_init($url);
    curl_setopt_array($ch,$options);
    $content = curl_exec($ch);
    $err     = curl_errno($ch);
    $errmsg  = curl_error($ch) ;
    $header  = curl_getinfo($ch);
    curl_close($ch);

  //  $header['errno']   = $err;
  //  $header['errmsg']  = $errmsg;
  //  $header['content'] = $content;

    return $content;
}

$curl_data = "";
$url = "http://MyWebSite.com/v2/APIlanding";
$response = get_web_page($url,$curl_data);

print '<pre>';
print_r($response); 
print '
';?>$ value) {echo "$ name: $ value \ n";}?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...