Iam尝试使用PHP访问Foto Flexer API。此API需要图像url,cancelurl,callbackurl。
所以我已经提出了这个API的请求。此API需要在浏览器中访问图像而没有任何问题。但我的网站包含HTTP基本身份验证。现在我的问题是如何将用户名和密码传递给API,以便它可以打开图像..
答案 0 :(得分:1)
基本身份验证将是用户名和密码结合冒号(:)然后进行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。