2013-02-21 58 views
0

我有一個通過Android IP Camera App的攝像頭。我正在寫一個PHP腳本在溫度傳感器上執行OCR以讀取數字,並在超過特定溫度時發出警告。我希望抓取的URL是通過攝像機IP的shot.jpg,但攝像頭有一個授權用戶名和密碼:basic。我能夠通過第一種方法進行認證,但它只是輸出一串隨機字符。第二種方法加載圖片,但src不正確。關於如何正確格式化第一種方法和內容類型的任何建議都會很棒。由於php檢索圖像w/header信息:授權:基本和內容類型:image/jpg

//METHOD 1 
    $context = stream_context_create(array(
    'http' => array('header' => "Authorization: Basic " . base64_encode("$username:$password")) 
)); 
$data = file_get_contents($url, false, $context); 
echo $data; 


//METHOD NUMBER 2 
header('Authorization: Basic' . base64_encode("$username:$password")); 
header('Content-Type: image/jpg'); 
$data = file_get_contents($url, false); 
echo $data; 

回答

2

你不是輸出例如1 file_get_contents在正確Content-Type:不通過它。因此,圖像將假設它是一個HTML頁面發送到瀏覽器。

這樣:

$data = file_get_contents($url, false, $context); 
header('Content-Type: image/jpg');  
echo $data; 

另外,儘量curl(也支持HTTP),用於簡化登錄憑證使用。

在第二個示例中,您使用的是頁面響應header()Authorization:行不會通過那裏的file_get_contents()URL請求傳遞。