curl авторизация

H7
На сайте с 15.12.2015
Offline
1
724

Здраствуйте.Совсем недавно начал работать с курл,еще не освоился.Вопрос:как мне правильно авторизироваться на сайте и выйти на нужную мне страницу,используя курл?Мне очень нужен именно этот сайт и выход на следующую страницу.Спасибо.

$login='H6117';

$pass='Lc142536';

$url='http://sklep.martex-rybnik.pl/';

$curl = curl_init(); //

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_COOKIEJAR, 'cook.txt');//

curl_setopt($curl, CURLOPT_COOKIEFILE, 'cook.txt');//

curl_setopt($curl, CURLOPT_USERAGENT, "Opera/10.00 (Windows NT 5.1; U; ru) Presto/2.2.0");

curl_setopt($curl, CURLOPT_FAILONERROR, 1);

curl_setopt($curl, CURLOPT_REFERER, '');

curl_setopt($curl, CURLOPT_TIMEOUT, 3);

curl_setopt($curl, CURLOPT_POST, 1);

curl_setopt($curl, CURLOPT_POSTFIELDS, '$url');

curl_setopt($curl, CURLOPT_POSTFIELDS,"login=".$login."&password=".$pass);

curl_setopt($curl, CURLOPT_HEADER, 1);

curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);

curl_setopt ($curl, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$html = curl_exec($curl);

curl_close($curl);

G2
На сайте с 27.10.2009
Offline
62
#1

Вам очень надо делать это именно CURLом?

Не знаком со скрейперами в PHP, но это, полагаю, будет намного удобнее для вашей задачи:

https://github.com/FriendsOfPHP/Goutte

КакМаршрутник (http://goo.gl/forms/hMgaH0s9E5) — как маршрутник, но работает.
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#2
ghost28:
Вам очень надо делать это именно CURLом?

Не знаком со скрейперами в PHP, но это, полагаю, будет намного удобнее для вашей задачи:
https://github.com/FriendsOfPHP/Goutte

Нафиг использовать 100500 библиотек и какие-то классы и модуля, если это решается 5-ю строчками PHP кода? 🤪

Совсем недавно начал работать с курл,еще не освоился.Вопрос:как мне правильно авторизироваться на сайте

Ну шаги нормальные.

Зачем эта строчка?

curl_setopt($curl, CURLOPT_POSTFIELDS, '$url');

И что не работает то? У вас там точно login и password передаётся и больше ничего? Через консоль разработчика в браузере смотрите какой массив отправляется.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
G2
На сайте с 27.10.2009
Offline
62
#3
LEOnidUKG:
Нафиг использовать 100500 библиотек и какие-то классы и модуля, если это решается 5-ю строчками PHP кода?

Чтобы не тратить несколько лишних часов на отладку извращений, и не писать 100500 строк ненужного кода? (=

Но если очень хочется КУРЛы сделать, то вот откомментированный пример:

https://htmlweb.ru/php/example/curl_login.php

Если память не подводит, я даже именно по нему когда-то запускал авторизацию. Навскидку,

curl_setopt($curl, CURLOPT_COOKIEFILE, 'cook.txt');//

не нужен, и не должен использовать тот же файл что куки-джар. Кроме того, это первый запрос - авторизация. После него вам надо делать второй запрос, уже на загрузку нужной страницы, передавая полученные куки.

H7
На сайте с 15.12.2015
Offline
1
#4

Но если очень хочется КУРЛы сделать, то вот откомментированный пример:

https://htmlweb.ru/php/example/curl_login.php.Я как раз по нему и делаю.Но в том и проблема что не знаю как правильно отправить масив пост-запросов чтобы его считало.Поэтому и указал сам сайт с логином и паролем-может кто посмотрит и скажет что не так.Спасибо

LovelAss
На сайте с 05.06.2009
Offline
96
#5
hambit7:
не знаю как правильно отправить масив пост-запросов чтобы его считало.

В интернете информации масса со всеми этими примерами. Ищи - не хочу, учи - не могу.


$postfields = array(
'login' => 'test_login',
'password' => 'test_pass'
);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postfields));
H7
На сайте с 15.12.2015
Offline
1
#6

)))Я имею в виду этот конкретный сайт.Просто не понимаю,какие должны быть соответствия для этих полей,как правильно обозначить их названия и т.д.Если бы это кто нибуть смог указать разок как правильно выставлять и откуда брать,дальше разобрался бы.Я первый раз работаю с курлом,тем более в создании такой авторизации и возможно много простых вещей для вас мне на даный момент кажутся темным лесом.Спасибо

дани мапов
На сайте с 06.09.2012
Offline
204
#7

Тут на примере подробно рассказано - http://xdan.ru/avtorizacija-na-sajte-pri-pomoshhi-curl-php.html

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
E
На сайте с 17.02.2008
Offline
191
#8

Названия элементов там не login, password, а ctl00$box_3$tbUserId, ctl00$box_3$tbPassword.

Выбираю прокси здесь: https://goo.su/zUub4. Хотите купить и Вы?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий