从 cURL 获取 CURLOPT_HTTPHEADER 的值

我有下面的方法是使用cURL从网络服务器获取响应。


function login (string $_login, string $_password) : string {


    $url = "https://acweb.net.br/api/orcamentos/login";  


    $fields = [

        "login"    => $_login,

        "password" => $_password

    ];


    $headers = [

        "Try" => "Trying"

    ];


    $ch = curl_init();


    curl_setopt( $ch, CURLOPT_URL, $url);

    curl_setopt( $ch, CURLOPT_POST, true);

    curl_setopt( $ch, CURLOPT_POSTFIELDS, $fields);

    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );

    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);


    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);


    return curl_exec( $ch );


}

它工作正常!


我可以得到$_POST的值


print_r ($_POST)

但我无法获得CURLOPT_HTTPHEADER的值。


编辑:


我确实尝试过:


print_r ($_SERVER)

但它不在那里。


如何获得CURLOPT_HTTPHEADER的值?


$_SERVER中的所有HTTP_headers:


[HTTP_HOST] => ctemcasb.com.br

[HTTP_CONNECTION] => keep-alive

[HTTP_UPGRADE_INSECURE_REQUESTS] => 1

[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

[HTTP_SEC_FETCH_USER] => ?1

[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3

[HTTP_SEC_FETCH_SITE] => none

[HTTP_SEC_FETCH_MODE] => navigate

[HTTP_ACCEPT_ENCODING] => gzip, deflate, br

[HTTP_ACCEPT_LANGUAGE] => pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7

[HTTP_COOKIE] => PHPSESSID=j4cqqdc83fia68nk0gsglqk1bv

HTTP_TRY,不存在。


现在?


我在服务器上做了这个:


print_r($_SERVER)


print_r ($_SERVER["HTTP_TRY]);


慕田峪4524236
浏览 257回答 1
1回答

大话西游666

标头不应该是关联数组,它应该是字符串的索引数组。$headers = [    'Try: Trying',    'Content-Type: text/html',    ...]; 然后你应该能够访问标题:$_SERVER['HTTP_TRY']因为自定义标题的前缀是HTTP_
打开App,查看更多内容
随时随地看视频慕课网APP