- curl login, download cookies and redirect
123
WT форуми -> PHP MySQL ASP.NET -> curl login, download cookies and redirect
Създайте нова тема Напишете отговор 
Автор Съобщение
dakata__92
Активен
Активен

Регистриран на: 02/08/2011 9:24 pm

Support: 115
Bonus: 223
Мнения: 2938
Мнение 11/08/2017 2:33 pm      Отговорете с цитат


Към автора:
Добре де, толкова ли не можeш да осъзнаеш какво си създал? В нета има толкова много коментирано за cURL и за логването, толкова много въпроси има тук и готов код ти се мъчиш да създадеш нещо, което е нелогично. В първият ми пост ти пратих примерен код хе така за идеята:

PHP code:

<?php

$url = "http://web-tourist.net/forum/login.php";

$file='cookies.txt';



$ch = curl_init();

$array = array(

CURLOPT_HEADER => false,

CURLOPT_RETURNTRANSFER => 1,

CURLOPT_URL =>$url,

CURLOPT_REFERER=>$url,

CURLOPT_FOLLOWLOCATION => true,

CURLOPT_SSL_VERIFYPEER => false,

CURLOPT_POST =>1,

CURLOPT_CONNECTTIMEOUT => 3,

CURLOPT_TIMEOUT=>3,

CURLOPT_COOKIEFILE=>$file,

CURLOPT_COOKIEJAR=>$file,

CURLOPT_POSTFIELDS=>"login=true&username=".$user."&password=".$pass.$webfields,

CURLOPT_USERAGENT => 'demo user agent..'

);



curl_setopt_array($ch, $array);

$result1= curl_exec ($ch);



$array[CURLOPT_URL] = "http://web-tourist.net/forum/viewtopic.php?p=671188#671188";

curl_setopt_array($ch, $array);

$result2= curl_exec ($ch);



curl_close ($ch);



// echo $result1;

echo $result2;



Редирект не ти е нужен, с вече логнат потребител и създадени бисквитки само ще подаваш адреса на следващата страница, която искаш и от там нататък сваляш кода на страницата или каквото там ти трябва.
https://stackoverflow.com/questions/20049393/using-php-curl-to-login-to-my-websites-form
Коментар 9 е много приятен пример за код. Разгледай го и прочени малко за идеята на cURL. Не ти трябва да създаваш лична форма от която да пращаш инфото. Така обезсмисляш всичко. Например ако постнеш формата с cURL и тя постне към адреса зареденото в нея инфо, то ти постваш директно от твоят браузър, не от този въведен с cURL и така нататък. Просто е излишно да постваш с curl така. Драсни си един js с document.getElementById('submit buton id').click и не се занимавай с глупости. Smile
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Revelation
Турист
Турист

Регистриран на: 24/03/2013 3:23 pm

Support: 39
Bonus: 78
Мнения: 559
Мнение 11/08/2017 4:24 pm      Отговорете с цитат


Хубаво е пътя до cookie файла да е абсолютен, също - моля ви подавайте пост данни чрез масив, в пъти по-четимо и подредено е.

FOLLOWLOCATION не е задължително да го има. При някои сайтове, FOLLOWLOCATION може да прецака бисквитките и да прекъсне записването им.

@vasilev, не мога да ти разбера логиката. Искаш да виждаш самата страница ли в браузъра? Ако е така, не виждам смисъла в това, което правиш със cURL.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
dakata__92
Активен
Активен

Регистриран на: 02/08/2011 9:24 pm

Support: 115
Bonus: 223
Мнения: 2938
Мнение 12/08/2017 2:30 pm      Отговорете с цитат


Revelation написа:
Хубаво е пътя до cookie файла да е абсолютен, също - моля ви подавайте пост данни чрез масив, в пъти по-четимо и подредено е.

FOLLOWLOCATION не е задължително да го има. При някои сайтове, FOLLOWLOCATION може да прецака бисквитките и да прекъсне записването им.

@vasilev, не мога да ти разбера логиката. Искаш да виждаш самата страница ли в браузъра? Ако е така, не виждам смисъла в това, което правиш със cURL.


Не съм тествал дали кода работи, просто го постнах за идеята и обяснението. Създал съм си цял клас да ми управлява всичката работа с cURL, като с него постигам страхотна производителност. Laughing
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
vasilev
Турист
Турист

Регистриран на: 07/02/2009 2:41 pm

Support: 24
Bonus: 45
Мнения: 591
Мнение 14/08/2017 11:29 am      Отговорете с цитат


за да си спестим още коментари и размишления, покажете ми готов код който работи - както бях помолил.
подаваш потребител/парола към този сайт и след това влизаш по менютата в нов прозорец (на който домейна да е web-tourist.net а не собствен уебсайт).
потребител/парола/user input field name/password input field name/submit button name - всичките тези ги имате в база.
както обясних целта не е да тегля код, а да се логна и да избегна писането на пароли всеки път.

най мразя да ми философства някой. "не научи ли", "днеска ми е дошло само на curl проблеми" .. за толкова постове които съм писал, аз никога не съм се обеснявал на някой. като иска съдействие и аз знам, просто му давам отговора а не поствам допълнителен въпрос!
помолих за код. ако имате - дайте. ако нямате - не си правете труда да наливате поредния коментар в базата !

от всички, само dakata си прави труда да покаже някакъв код.
но както казах той(кода) не върши работа. Върши ако искаш да отваряш всеки път remote сайт през твоя .. но трябва да се оправи css/js тъй като не се вижда нищо. ако искаш да постнеш коментар, не съм сигурен че ще работи. тоест по добре е да си си на remote сайта..
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
ttta
Нов
Нов

Регистриран на: 11/08/2017 9:41 am

Support: 0
Bonus: 0
Мнения: 14
Мнение 14/08/2017 12:05 pm      Отговорете с цитат


Ми няма как код да върши работа, след като никой не може да схване какво точно искаш да направиш.
Хората се опитват да ти обяснят как да направиш web proxy но в случая то няма да свърши работа. А на мен не ми се за занимава да давам готови решения на ....

Щом за толкова години (съдейки по регистрацията ти) не си схванал основни неща за http то по-добре е да зарежеш програмирането и да се насочиш към нещо друго - земеделие, животновъдство ...
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
vasilev
Турист
Турист

Регистриран на: 07/02/2009 2:41 pm

Support: 24
Bonus: 45
Мнения: 591
Мнение 14/08/2017 1:58 pm      Отговорете с цитат


хайде пак да прочетем коментарите и да си зададем въпроса трябва ли ми web proxy или не Smile
трябва ли ми коментар или код ? Smile
имаме ли работещ код за това което обеснявам или не ? Smile
много if-ове станаха..

пак повтарям, дайте да се фокусираме върху код, не върху това кой какво знае, от колко време е регистриран, колко код е изписал, колко книги е прочел, колко филми е изгледал. не мерим нищо тука.

няма смисъл да добавям изречението .. "ти понеже много коментари имаш". просто ще си замълча.. разправял съм се с такива като теб преди 15 години когато имаше MIRC и си чесахме пръстите че ни сърбяха много.. сега ги чешем с код, за което всъщност и помолих тук.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
ttta
Нов
Нов

Регистриран на: 11/08/2017 9:41 am

Support: 0
Bonus: 0
Мнения: 14
Мнение 14/08/2017 2:02 pm      Отговорете с цитат


Отговор вече ти дадох, кое тоно не ти е ясно от него?

Изкаш готов код? И аз искам много неща ама йок. Вместо да се обясняваш като ... вземи и се опитай да схванеш какво ти казвам. Ако не успееш да го разбереш питай.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
Fakeheal
Support
Support

Регистриран на: 17/04/2010 8:37 am

Support: 340
Bonus: 678
Мнения: 2556
Мнение 14/08/2017 2:29 pm      Отговорете с цитат


ttta написа:
Отговор вече ти дадох, кое тоно не ти е ясно от него?

Изкаш готов код? И аз искам много неща ама йок. Вместо да се обясняваш като ... вземи и се опитай да схванеш какво ти казвам. Ако не успееш да го разбереш питай.


//off: uphero? version 2?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
vasilev
Турист
Турист

Регистриран на: 07/02/2009 2:41 pm

Support: 24
Bonus: 45
Мнения: 591
Мнение 14/08/2017 2:35 pm      Отговорете с цитат


ясно ми е всичко.
теорията е ясна. но аз не питам за теория тук а за практика Smile
както в първият си пост и в последния и във всичките които си чел(по тази тема от мен) - аз помолих за код.
бисквитките се записват във файл, ако се обходи може да се вземе name/value и да се сетнат. има ли по лесен начин.

може би ако просто дадем код а не се обесняваме като първолаци, за следващите които търсят също подобно нещо ще им е много по-лесно да видят кода, преди да са се отказали да четат безсмислени коментари до края на темата..

аз вече работещ код имам, който ако се замислим работи по същата логика която се предлага с curl (логически) но аз исках просто да видя кода и да преценя кое ще изглежда по хубаво.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
ttta
Нов
Нов

Регистриран на: 11/08/2017 9:41 am

Support: 0
Bonus: 0
Мнения: 14
Мнение 14/08/2017 2:42 pm      Отговорете с цитат


Имаш работещ код дедов. Имаш код за web proxy. А как беше модерния лаф
Цитат:
хайде пак да прочетем коментарите и да си зададем въпроса трябва ли ми web proxy или не


Та пак да кажа, за посрещачите на бързия влак - бисквитките трябва да се изпратят от БРАУЗЕРЪТ. За целта те трябва да стигнат от хранилището на curl до него. При това с КОРЕКТНИ атрибути.

И не, не може да дам код. Давам решение а имплементацията оставям на майсторите които вече години на ред си чешат пръстите с код.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
vasilev
Турист
Турист

Регистриран на: 07/02/2009 2:41 pm

Support: 24
Bonus: 45
Мнения: 591
Мнение 14/08/2017 3:08 pm      Отговорете с цитат


добре,
загубихме си час в приказки Smile
аз повече няма какво да добавя. връщам се на един от първите си коментари - ако някой има по-добро решение, нека сподели.
ако на някой му се чешат пръсти.. да ги чеше.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
Revelation
Турист
Турист

Регистриран на: 24/03/2013 3:23 pm

Support: 39
Bonus: 78
Мнения: 559
Мнение 14/08/2017 11:27 pm      Отговорете с цитат


Ако това ти е проблема, че не ти се пишат всеки път пароли, то използвай Auto Login extension на Google Chrome. Ако използваш друг браузър, съм сигурен, че ще има такива приложения за тях.

https://chrome.google.com/webstore/detail/auto-login/kjdgohfkopafhjmmlbojhaabfpndllgk

Ето ти за Chrome. Не знам защо за такова нещо търсиш вариант със curl. Сега пак кажи, че си чешем пръстите и вече наистина ще се чудя какъв точно ти е проблема, който се опитваш да разрешиш.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
123
Страница 2 от 3


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети