php - 从 API 获取数据 - PHP
问题描述
我一直在尝试连接到需要用户和密码密钥的 API。我能够从命令行使用 curl 进行连接,但是在使用 PHP 时遇到了问题。
我曾尝试使用“user:password”作为 AUTH 密钥(在 curl 中工作),以前代码只需要一个密码就可以工作。下面是我正在使用的代码:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "api-link-removed.com" . urlencode($location),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array(
"accept: application/json",
"authorization: Basic " . AUTH_KEY,
"content-type: application/json"
),
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false
));
$response = curl_exec($curl);
$err = curl_error($curl);
对我可能做错的任何建议将不胜感激!
提前致谢!
解决方案
也许 Guzzle HTTP
$client = new GuzzleHttp\Client();
$response = $client->get('http://www.server.com/endpoint', [
'auth' => [
'username',
'password'
]
]);
推荐阅读
- mysql - 使用 MySQL 的多用户应用程序
- flutter - 当我在 Android Studio 中打开颤振项目时,Kotlin 和 Java 代码显示错误
- python - Python urllib 获取 HTML 页面必备
- reactjs - 如何将目标 url 地址传递给 react.js 中的表单?
- ios - Flutter iOS 在发布模式下启动应用程序时抛出异常类型:EXC_CRASH (SIGABRT) EXC_CORPSE_NOTIFY
- android - 你能在颤动中设计 video_player 包吗?
- graphene-python - 在 FastAPI 中,不能使用解析器异步等待
- java - 提高 Java 中按字符对大型字符串列表排序的速度
- c# - c#中泛型的类型转换
- c - 灵活长度数组上的 C realloc()