[英]Why does my POST request time out in PHP using cURL, but not in Postman?
我有一個 auth.php 文件,它應該向帶有一些標題、數據和內容的 API 發出請求。
我嘗試了Postman ,幾乎立即就給了我答復。
我復制了代碼 (PHP > cURL) 並嘗試了它,它會waiting for MYPRIVATESITE.com
30 秒(我將超時設置為那個),然后只是cURL ERROR: TIMED OUT
超時(或類似的東西)。
我做錯了什么? 它適用於例如郵遞員,那么為什么我的網站不適用?
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://discordapp.com/api/v6/oauth2/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "client_id=PRIVATEID&client_secret=PRIVATEKEY&grant_type=authorization_code&code=$code&redirect_uri=https%3A%2F%2Fkanebot.epizy.com%2Fauth.php&scope=identify%20guilds&undefined=",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/x-www-form-urlencoded",
"cache-control: no-cache"
)
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
注意: PRIVATEKEY
和PRIVATEID
在那里,我只是刪除它們,因為我不希望其他人竊取它。 它已定義,並且有效(閱讀)。 還定義了$code
。
這是因為丟失了&
您的運營商POSTFIELDS
之間client_secret
和grant_type
嘗試添加&
並查看它之后是否有效(它肯定會解決您遇到的問題之一)
client_id=PRIVATEID&client_secret=PRIVATEKEYgrant_type=authorization_code&code=$code&redirect_uri=https%3A%2F%2Fkanebot.epizy.com%2Fauth.php&scope=identify%20guilds&undefined=
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.