簡體   English   中英

使用PHP cURL檢索圖像時拒絕連接

[英]Connection Refused when using PHP cURL to retrieve image

嘗試使用PHP cURL遠程檢索網絡攝像頭圖像時,出現“連接被拒絕”錯誤。 如果嘗試在本地計算機上的瀏覽器中使用URL檢索圖像,則系統會提示我輸入憑據,然后它會為我提供圖像。 為什么會這樣呢? 是我本人還是另一台服務器上的腳本,誰在索要該映像,應該沒有什么區別,對嗎?

我的代碼:

    <?php 
$token = "user:password";
$url = "http://000.000.000.000:000/cgi-bin/image.jpg";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_USERPWD, $token);
/*curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);*/                    
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

if( curl_exec($ch) === false ){
    echo curl_error($ch);
}else{
    $data = curl_exec($ch);
}
curl_close($ch);

echo "<pre>";
print_r($data);
echo "</pre>";
?>

這很可能是基本訪問身份驗證 如果在瀏覽器中轉到某個URL,則會顯示一個登錄彈出窗口,但您也可以在URL中包括用戶名和密碼,如下所示:

https://Aladdin:OpenSesame@www.example.com/index.html

在這種情況下,它將是:

$url = "http://user:password@000.000.000.000:000/cgi-bin/image.jpg";

編輯由於使用curl,它具有發送身份驗證標頭的功能。

curl_setopt($process, CURLOPT_USERPWD, $username.':'.$password);

在這種情況下:

curl_setopt($process, CURLOPT_USERPWD, $token);

另外,請參閱此答案

暫無
暫無

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

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