gpt4 book ai didi

php - POST 在 PHP 中使用 cURL 和 x-www-form-urlencoded 返回访问被拒绝

转载 作者:行者123 更新时间:2023-12-01 10:45:33 25 4
gpt4 key购买 nike

我已经能够使用 chrome 的 Advanced Rest Client Extension 将 POST 查询发送到特定的 HTTPS 服务器,并且我得到状态代码:200 - OK 与我在这段代码中使用的正文字段相同,但是当我运行以下代码并收到此响应:403 - 访问被拒绝。

<?php
$postData = array(
'type' => 'credentials',
'id' => 'exampleid',
'secret_key' => 'gsdDe32dKa'
);

// Setup cURL
$ch = curl_init('https://www.mywebsite.com/oauth/token');
curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => array('Content-Type: application/x-www-form-urlencoded'
),
CURLOPT_POSTFIELDS => json_encode($postData)
));

// Send the request
$response = curl_exec($ch);

var_dump($response);

// Check for errors
if($response === FALSE){
die(curl_error($ch));
}

// Decode the response
$responseData = json_decode($response, TRUE);

// Print the date from the response
echo $responseData['published'];
?>

我也注意到,当我为 chrome 使用 Advanced Rest Client Extension 时,如果我将 Content-Type 设置为 application/json,我必须输入我不知道是什么的登录名和密码,因为即使我在代码中输入我拥有的 ID 和 key ,它也会返回 401 Unauthorized。所以我猜我写的这段代码并没有强制它为内容类型:application/x-www-form-urlencoded,但我不确定。感谢您在此问题上提供的任何帮助!

最佳答案

你能不能试试看是否有帮助:

curl_setopt_array($ch, array(
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_COOKIEFILE => 'cookie.txt',
CURLOPT_COOKIEJAR => 'cookie.txt',
CURLOPT_USERPWD => 'username:password', //Your credentials goes here
CURLOPT_HTTPHEADER => array('Content-Type: application/x-www-form-urlencoded'),
CURLOPT_POSTFIELDS => http_build_query($postData),
));

我想网站希望在您已经提供的 secret_key 之上进行简单的身份验证。
也可以发送 Cookie,以防万一,最好存储它并在下一次 Curl 调用中再次使用它。

关于php - POST 在 PHP 中使用 cURL 和 x-www-form-urlencoded 返回访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26769535/

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