使用基本认证发送 HTTP 请求

PHP:
使用基本认证发送 HTTP 请求

How To: 怎么做

<?php
// 用户名和密码
$username = 'user';
$password = 'pass';

// 初始化cURL
$ch = curl_init('https://example.com/api/data');

// 配置基本认证
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

// 设置选项获取返回值
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 执行cURL会话
$response = curl_exec($ch);

// 关闭cURL资源,并释放系统资源
curl_close($ch);

// 输出响应内容
echo $response;
?>

Sample Output:

{"status":"success","data":"Confidential data here"}

Deep Dive: 深入探讨

基本认证在HTTP 1.0时被引入,提供最初级的安全措施。用户名和密码未加密,采用Base64编码,容易被截获。它的替代方案包括OAuth和API密钥,通常更安全。当执行HTTP请求时,尽管cURL是PHP的首选,但也可使用file_get_contents和流上下文。处理响应时,应检查HTTP状态码,处理cURL错误,并对数据进行安全地解析。

See Also: 参考链接