gpt4 book ai didi

php - 为什么这个 CURL 在 PHP 中有效但在 shell 中无效

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:18:50 25 4
gpt4 key购买 nike

我正在尝试访问 API。我可以从 PHP 做到这一点

<?php

$url = 'http://apiurl/path';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('API-KEY: myKey'));
//curl_setopt($ch, CURLOPT_POST, 1);

$output = curl_exec($ch);
$curlInfo = curl_getinfo($ch);
curl_close($ch);
echo $output; /*success!*/

但是,从命令行执行此操作会触发 403 错误。

curl -i -v -H "API-KEY: myKey" http://apiurl/path
/*failure!*/

PHP 有何不同之处?还是我的命令行代码中有语法错误?

最佳答案

我能看到的唯一明显区别是命令行 PHP 默认添加了一个 User-Agent header 。可能您使用的 API 服务器拒绝了来自 Curl 用户代理的请求?尝试通过添加参数 -H "User-Agent:"

从命令行中删除它

关于php - 为什么这个 CURL 在 PHP 中有效但在 shell 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25812132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com