0

Android IP Camera App 経由でウェブカメラを持っています。温度センサーで OCR を実行して数字を読み取り、特定の温度を超えると警告する PHP スクリプトを作成しています。私が取得したい URL はカムの IP 経由の shot.jpg ですが、ウェブカメラには認証のユーザー名とパスワードがあります: basic. 最初の方法で認証を通過できましたが、ランダムな文字が大量に出力されるだけです。2 番目の方法は画像を読み込みますが、src が正しくありません。content-type を使用して最初のメソッドを適切にフォーマットする方法についての提案は素晴らしいでしょう。ありがとう

//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;
4

1 に答える 1

2

Content-Type:例1では正しいものを出力してfile_get_contentsいません。それを渡しません。そのため、画像は HTML ページであると想定してブラウザに送信されます。

こちらです:

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

また、curlログイン資格情報の使用を簡素化するために、(HTTP もサポートする) を試してください。

2 番目の例では、 page response を使用していますheader()。このAuthorization:行は、file_get_contents() URL リクエストでは渡されません。

于 2013-02-21T03:59:31.427 に答える