Почему мой POST-запрос истекает в PHP с использованием cURL, а не в Postman? - PullRequest
1 голос
/ 15 марта 2019

У меня есть файл auth.php, который должен сделать запрос к API с некоторыми заголовками, данными и прочим.

Я попытался Почтальон и почти сразу же дал мне ответ.

Я скопировал код (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 также определен.

1 Ответ

1 голос
/ 15 марта 2019

Вы пропускаете оператор & в вашем 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=
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...