2012-03-27 15 views
1

Iam PHPのFoto Flexer APIにアクセスしようとしています。このAPIには、image url、cancelurl、callbackurlが必要です。PHPのHTTP基本認証の値(ユーザ名とパスワード)を渡す方法

私はこのAPIにリクエストを提出しました。このAPIは問題なくブラウザの画像にアクセスする必要があります。しかし、私のサイトにはHTTP基本認証が含まれています。さて、私の質問は、画像を開くことができるように、ユーザー名とパスワードをAPIに渡す方法です。

+0

APIがイメージを取得する仕方によっては、おそらくHTTP認証をサポートしていない可能性があります。しかし、あなたは 'http:// username:password @ yoursite.com/path/to/image.png'のようなURLを試して、それを受け入れるかどうかを調べることができます。 – drew010

答えて

1

基本認証はコロン(:)で結合されたユーザー名とパスワードになり、 PHPは、あなたが行うことができますヘッダを生成するために

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 

:エンコードなどのようなヘッダで渡される64

$username = 'your username'; 
$password = 'your password'; 
$authpart = $username . ':' . $password; 
$authpart = base64_encode($authpart); 
$header = 'Authorization: Basic ' . $authpart; 

あなたはZendのようなライブラリを使用している場合は、彼らが生成しますメソッドを持っていますこれを既に送ってください。カールの場合は、CURLOPT_HEADERオプションを使用してカスタムヘッダーをcurl_setoptに送信できます。

<?php 
require_once 'Zend/Http/Client.php'; 

$uri = 'address to api'; 

$client = new Zend_Http_Client(); 
$client->setUri($uri); 
$client->setAuth($user, $password, Zend_Http_Client::AUTH_BASIC); 

$response = $client->request(Zend_Http_Client::GET); 
?> 

これは、Zendで始める必要があります。

関連する問題