我正在创建我的第一个 API,合作伙伴需要使用 cURL 从他们的服务器访问该 API。因此,在创建它时,我使用服务器 #1 来创建测试连接脚本,并使用服务器 #2 来托管 API。在服务器 #1 我有:
<?php
$url = "http://example.net/api/";
$data['api_key'] = "AFsASfafasasf";
$data['api_secret'] = "faskakfokfl3a";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
在服务器 #2 上,API 文件,我有这个(只是为了测试连接):
<?php
echo "Testing API...";
echo $_POST['api_key'];
echo $_POST['api_secret'];
?>
问题是,当我在服务器 #1 上运行测试脚本时,我得到了这个:
“需要授权
此服务器无法验证您是否有权访问所请求的文档。要么您提供了错误的凭据(例如,错误的密码),要么您的浏览器不了解如何提供所需的凭据。
此外,在尝试使用 ErrorDocument 处理请求时遇到 401 Authorization Required 错误。”
这肯定与 cURL 相关联,因为 Server #1 可以与任何其他基本 PHP 脚本一起使用。
我在网上看到的所有示例似乎都不需要授权......所以它是我需要设置的 CURLOPT 字段中的内容,还是 .htaccess 或其他我缺少的地方?
谢谢!