簡體   English   中英

從 cURL 獲取 CURLOPT_HTTPHEADER 的值

[英]Get the value of CURLOPT_HTTPHEADER from cURL

我有下面的方法,即使用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]);

標題不應該是關聯數組,而應該是字符串的索引數組。

$headers = [
    'Try: Trying',
    'Content-Type: text/html',
    ...
]; 

然后您應該能夠使用以下方式訪問標頭: $_SERVER['HTTP_TRY']因為自定義標頭以HTTP_為前綴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM