[英]PHP cURL (Generated on Postman) not returning anything
我已經連接到一個在Postman上完美運行的API,它返回一個Json來顯示我們剛剛發送的內容,在此示例中,它返回{“ id”:9}。
但是,當我使用Postman生成的cURL代碼時,對於相同的數據,它始終不返回任何內容。
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://us-central1-mitocondria-856e6.cloudfunctions.net/api/createUser",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"id\":9}",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer XXXX",
"Cache-Control: no-cache",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
上面的代碼不返回任何內容。
var_dump($response)
返回NULL var_dump($err)
返回字符串(0)“”並且print_r(curl_getinfo($curl))
返回
Array ( [url] => https://us-central1-mitocondria-856e6.cloudfunctions.net/api/createUser/ [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0 [namelookup_time] => 0 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [redirect_url] => [primary_ip] => [certinfo] => Array ( ) [primary_port] => 0 [local_ip] => [local_port] => 0 )
我還使用json_encode( array("id" => 8) )
更改了原始json數據,並得到了相同的結果。
我還應該嘗試什么? 還是我錯過了一個錯誤? 請幫忙!
1-請注意curl數組的最后一個參數中的','。
2-請嘗試添加
CURLOPT_POST=> 1, // Means you have post data CURLOPT_POSTFIELDS => $curl_data
'
這是一個愚蠢的錯誤,與代碼無關。
我檢查的第一件事是PHP已安裝了cURL模塊,但我沒有注意到它在php.ini上已被禁用,因此該錯誤顯示在我未檢查的唯一日志中,即Apache error.log。
啟用模塊后,它就像一個咒語一樣工作。
謝謝所有試圖幫助我的人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.