MD. ABDUL Halim
MD. ABDUL Halim

Reputation: 722

PHP Curl Cannot send HTTP HEADER Authorization Secret

PHP Curl Cannot send HTTP HEADER Authorization Secret.

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_POST => 1,
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_HTTPHEADER, array( 'Authorization: Secret <secret>' )
));

$result = curl_exec($curl);
curl_close($curl);
echo $result;

In <secret>, I am sending secret. But Showing error is authorization header null

Curl getinfo is

Array
(
    [url] => http://x.x.x.x:8090/token/create
    [content_type] => application/json
    [http_code] => 400
    [header_size] => 158
    [request_size] => 142
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 1.672836
    [namelookup_time] => 4.6E-5
    [connect_time] => 1.331548
    [pretransfer_time] => 1.331722
    [size_upload] => 0
    [size_download] => 37
    [speed_download] => 22
    [speed_upload] => 0
    [download_content_length] => -1
    [upload_content_length] => -1
    [starttransfer_time] => 1.672799
    [redirect_time] => 0
    [redirect_url] => 
    [primary_ip] => x.x.x.x
    [certinfo] => Array
        (
        )

    [primary_port] => 8090
    [local_ip] => x.x.x.x
    [local_port] => xxxx
)

When I am using Postman Or Rest Client. I am sending Authorization Secret. Then Response is coming successfully.

Do you any Suggestion? Why PHP Curl is showing error but Postman or Rest Client is working successfully?

Upvotes: 0

Views: 510

Answers (1)

Bhagyashree Sarkar
Bhagyashree Sarkar

Reputation: 519

Use this:

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Secret <secret>"
      )
));

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

curl_close($curl);

echo $result;

Upvotes: 2

Related Questions