Как передать значения (имя пользователя и пароль) для базовой HTTP-аутентификации в php - PullRequest
1 голос
/ 27 марта 2012

Я пытаюсь получить доступ к API Foto Flexer в PHP.Для этого API требуется URL-адрес изображения, cancelurl, callbackurl.

Поэтому я поднял запрос к этому API.Для этого API требуется доступ к изображению в браузере без каких-либо проблем. Но на моем сайте включена базовая аутентификация HTTP.Теперь мой вопрос: как передать имя пользователя и пароль в API, чтобы он мог открыть изображение ..

1 Ответ

1 голос
/ 28 марта 2012

Базовая аутентификация будет состоять из имени пользователя и пароля в сочетании с двоеточием (:), а затем в кодировке base-64 и передается с таким заголовком:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Для PHP для генерации заголовка вы можете сделать:

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

Если вы используете библиотеку, подобную Zend, у них есть методы, которые уже сгенерируют и отправят это. Для curl вы можете отправить пользовательский заголовок с параметром 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...