ARCHANG3L
@ARCHANG3L
Немного программист

PHP cUrl: Почему я получаю ошибку 403?

Здравствуйте. Пробую послать cUrl запрос с php на reddit. Я хотел бы удалять комментарии посылая запрос с сервера, чтобы это сделать я сначала удалил комментарий руками, а потом посмотрел, что отправилось серверу
60cc8af3aaa4d042407139.jpeg

Попробовал использовать функцию в браузере Replay XHR и запрос дал код 200.
Попробовал удалить cookies и снова Replay XHR и запрос опять выдал код 200.

После этого я в точности скопировал информацию в мой cUrl запрос

// Массив POST
$post = array(
    'id' => 't1_id комментария'
);

// Массив заголовков, как в браузере
$header = array(
    'authority' => 'oauth.reddit.com',
    'accept' => '*/*',
    'accept-encoding' => 'gzip, deflate, br',
    'accept-language' => 'en-GB,en;q=0.9',
    'authorization' => 'скопировал в точности',
    'content-length' => 13,
    'content-type' => 'application/x-www-form-urlencoded',
    'origin' => 'https://www.reddit.com',
    'referer' => 'https://www.reddit.com/',
    'sec-ch-ua' => '^\\^Chromium^\\^;v=^\\^90^\\^, ^\\^Opera^\\^;v=^\\^76^\\^, ^\\^;Not',
    'sec-ch-ua-mobile' => '?0',	
    'sec-fetch-dest' => 'empty',
    'sec-fetch-mode' => 'cors',
    'sec-fetch-site' => 'same-site',
    'user-agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36 OPR/76.0.4017.177',
    'x-reddit-loid' => 'скопировал в точности',
    'x-reddit-session' => 'скопировал в точности'
);

// Параметры cUrl запросу я задал такие
curl_setopt(${"chan".$i}, CURLOPT_RETURNTRANSFER, true);
curl_setopt(${"chan".$i}, CURLOPT_HEADER, true);
curl_setopt(${"chan".$i}, CURLOPT_HTTPHEADER, $header);
curl_setopt(${"chan".$i}, CURLOPT_POST, true);
curl_setopt(${"chan".$i}, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt(${"chan".$i}, CURLOPT_AUTOREFERER, true);
curl_setopt(${"chan".$i}, CURLOPT_TIMEOUT, 30);
 curl_setopt(${"chan".$i}, CURLOPT_FOLLOWLOCATION,true);


и послал запрос на
https://oauth.reddit.com/api/del?redditWebClient=d...
как в браузере

Как результат я получаю ошибку 403, что я делаю не так?
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 1
@galaxy
Читайте документацию внимательнее:

CURLOPT_HTTPHEADER An array of HTTP header fields to set, in the format array('Content-type: text/plain', 'Content-length: 100')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы