Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Парсер на рутрекер (http://forum.oszone.net/showthread.php?t=344435)

bo11 16-03-2020 09:20 2913363

Парсер на рутрекер
 
Всем привет,есть парсер на рутрекер. Он обрабатывает текст регулярными выражениями. Не давно на рутрекере появилась кнопочка код. При нажатии на нее,появляется готовый набор ббкодов. Пытаюсь получить этот набор...проблема в том,что он висит на аякс запросе. Проверил пост-запрос через сервис https://tools.seo-zona.ru/postget.html. Там всё проходит удачно. Пытаюсь сделать это через парсер:
вот POST запрос из браузера:
action=view_post&post_id=74212646&mode=text&form_token=1cc9fujhyyuyj
Делаю такой же запрос через cURL
$post_data = [
"action" => "view_post",
"post_id" => "$post_id",
"mode" => "text",
"form_token" => "$form_token"
];
В ответ получаю
"{"error_code":1,"error_msg":"Запрос не был обработан [ошибочная подпись формы]. Обновите страницу и повторите запрос еще раз","action":""}"

вроде данные передаются
array:4 [▼
"action" => "view_post"
"post_id" => "74212646"
"mode" => "text"
"form_token" => "1cc9fd83032ebd4af2d6e478076231c9"
]
Вот курл
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://rutracker.org/forum/ajax.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // On dev server only!
$output = curl_exec($ch);

Говорю сразу...я начинающий пользователь,не всё знаю.

bo11 16-03-2020 11:59 2913387

Вопрос решен,нужно было просто подставить куки.

bo11 26-03-2020 09:03 2914733

Привет. Подскажите пожалуйста, как сделать условие - если не найден
PHP код:

preg_match_all ("/<a onclick=\"showtab\((\d+),(\d+)\); return false;\" href=\"#\">Качество<\/a>/"$text$sourcePREG_SET_ORDER); 

То это не будет срабатывать, и вернёт ноль
PHP код:

$screen2 file_get_contents("http://kinozal.tv/get_srv_details.php?id=$url_id2&pagesd=$pagesd2");
$screenschot2 "\n[spoiler=\"Качество\"][align=center]" $screen2 "[/align][/spoiler]"



Время: 02:44.

Время: 02:44.
© OSzone.net 2001-