Autor Zpráva
nowis
Profil *
Dobrý den,

chtěl bych se zeptat, jestli lze nějak udělat parser, který by pravidelně zjišťoval informace, které jsou dostupné jen pozalogování. Předpokládám, že by to spouštěl cron z hostingu, ten parser bych asi taky dokázal napsat, ale nevím, jak se dostat přes ten login...

Díky za tipy
Keeehi
Profil
Já osobně většinou využívám cURL. Podobné téma je cURL nedaří se POST přihlášení
nowis
Profil *
Díky, vůbec jsem o tom ještě neslyšel, kouknu na to
nowis
Profil *
Zdravím,

tak zkouším ten curl, vypadá to že by to s tím mělo jít, ale nejde :-(
Níže uvedený skript by mě měl hodit na stránku, kde zjistím authCode (je to proměnná GET na té stránce). Jenže místo té proměnné mi to tam napíše jen nějaký chybový řetězec. CURLOPT_FOLLOWLOCATION mám false, protože mi to píše application error. POSTy __VIEWSTATE a __EVENTVALIDATION se zdají být neměnné (zkoušel jsem přihlášení jMeterem a to proběhne OK)

Zde je skript (funkce), který používám:

$__VIEWSTATE="/wEPDwUKLTQxNjc3MDAwOQ8WAh4NQXBwbGljYXRpb25JUAUNOTAuMTc3LjQyLjEyNRYCZg9kFgQCAQ9kFgYCAQ8WAh4EaHJlZgUmaHR0cDovL3d3dy5oYXR0cmljay5vcmcvU3RhcnRQYWdlLmFzcHhkAgYPFgIeBFRleHQFMzxtZXRhIGh0dHAtZXF1aXY9J0NvbnRlbnQtTGFuZ3VhZ2UnIGNvbnRlbnQ9J2NzJyAvPmQCBw8WAh8BBSl+L0FwcF9UaGVtZXMvU3RhbmRhcmRfbWFpbl8xMS5jc3M/dj0xMjI0M2QCAw9kFgICAw9kFgICAw8PFgQeCENzc0NsYXNzBQhoYXR0cmljax4EXyFTQgICZBYGAgcPZBYCAgsPZBYCZg9kFgJmD2QWBAIEDw8WAh8CBQtQxZlpaGzDoXNpdGRkAgYPFgIeB1Zpc2libGVnFgJmDw8WAh4LTmF2aWdhdGVVcmwFpgFodHRwczovL3d3dy5mYWNlYm9vay5jb20vZGlhbG9nL29hdXRoP2NsaWVudF9pZD0yMjE1MTU5NTQ1NDc4ODEmcmVkaXJlY3RfdXJpPWh0dHA6Ly93d3cuaGF0dHJpY2sub3JnL1N0YXJ0UGFnZS5hc3B4P2FjdGlvbj1mYWNlYm9va2NhbGxiYWNrJnNjb3BlPXB1Ymxpc2hfc3RyZWFtLGVtYWlsZGQCEQ9kFgQCAw9kFgICAQ8PFgIfBWdkZAIFD2QWBAIBDw8WAh8FZ2QWAmYPDxYCHwIFHlphcmVnaXN0cm92YXQgc2Ugc2tyeiBGYWNlYm9va2RkAgUPZBYCAgEPZBYEZg8QZA8WAmYCARYCEAUOQ3plY2ggUmVwdWJsaWMFAjUyZxAFD1p2b2xpdCBqaW5vdS4uLgUBMGcWAWZkAgIPEA8WBh4NRGF0YVRleHRGaWVsZAUDS2V5Hg5EYXRhVmFsdWVGaWVsZAUFVmFsdWUeC18hRGF0YUJvdW5kZ2QQFQ4USGxhdm7DrSBtxJtzdG8gUHJhaGEQSmlob8SNZXNrw70ga3JhahJKaWhvbW9yYXZza8O9IGtyYWoRS2FybG92YXJza8O9IGtyYWoOS3JhaiBWeXNvxI1pbmEXS3LDoWxvdsOpaHJhZGVja8O9IGtyYWoPTGliZXJlY2vDvSBrcmFqFU1vcmF2c2tvc2xlenNrw70ga3Jhag9PbG9tb3Vja8O9IGtyYWoQUGFyZHViaWNrw70ga3Jhag9QbHplxYhza8O9IGtyYWoTU3TFmWVkb8SNZXNrw70ga3Jhag7DmnN0ZWNrw70ga3Jhag5abMOtbnNrw70ga3JhahUOAzk3MgM5NzMDOTc0BDIzOTQEMjM5MQM5NzkEMjM5MwM5NzcDOTc1BDIzOTIDOTgwAzk3OAM5NzYEMjM5MBQrAw5nZ2dnZ2dnZ2dnZ2dnZ2RkAicPZBYCAgEPZBYGAgEPZBYEAgEPEGRkFgBkAgMPEGRkFgBkAgMPZBYCAgEPEGRkFgBkAgkPZBYCAgEPEGRkFgBkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBRxjdGwwMCRDUENvbnRlbnQkY2hrQWdyZWVtZW50";
$__EVENTVALIDATION="/wEWUgLb/7LVCwKMgYaHCgKlgdGGCwLhstbEBgL/gZEJAufux+QMAvHu8+QMAvTum+cMAvPuz+QMAvXuw+QMAvLux+QMAufuu+cMAvLuu+cMAvLuw+QMAvHuu+cMAvXuu+cMAvTu9+QMAoXo9/AJAtavmLMLAvTuu+cMApPMrawEAoXo8/AJAvbuy+QMAuju++QMAvPu++QMAvLul+cMAvHux+QMAvPuu+cMAvLu3+QMAruWtsYFAvTuw+QMAvLuz+QMAufu3+QMAvDu++QMAvbuu+cMArSkpbAIAvbux+QMAvDuz+QMAvDu9+QMAvTu++QMAvHuz+QMAvTuz+QMAvPux+QMAujuu+cMAvDuu+cMAvTux+QMAvDul+cMAvXux+QMAvLuy+QMAufuy+QMAufuz+QMAvDuy+QMAvLu8+QMAvTu3+QMAvDux+QMAvDu3+QMAvDu8+QMAsfO/c0GAu2q9PMDAubFlp4PAv3F3p0PAovp16EDAu6DsLwFAvG6kssIAoek2sMKAoekptIMApik2uAIAoekzqQCAoLnuIsOAtTV/OECAoeksvkLAt3H1/8HArWN+NUGAr/M3vwEAoekircEApOtysYDAurs3Y0HAoT0h84MAu+8/tkKAsPvjJUKAv2osOMEAtTc9PME";
$username="jmeno";
$password="heslo";
$login="Přihlásit";
$lang="35";

$postdata="__VIEWSTATE=$__VIEWSTATE&__EVENTVALIDATION=$__EVENTVALIDATION&ctl00$CPHeader$ucLogin$txtUserName=$username&ctl00$CPHeader$ucLogin$txtPassword=$password&ctl00$CPHeader$ucLogin$butLogin=$login&ctl00$CPHeader$ucLanguages$ddlLanguages=$lang";

$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => true, // don't return headers
CURLOPT_FOLLOWLOCATION => false, // follow redirects
CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)", // who am i
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
CURLOPT_POST => true,
CURLOPT_COOKIEJAR => "cookies.txt",
CURLOPT_COOKIEFILE => "cookies.txt",
CURLOPT_POSTFIELDS => $postdata);

$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );

return $content;
}


echo get_web_page('http://www.hattrick.org/StartPage.aspx');
?>


Omlouvám se, pro pořádek je na začátku je ještě:

function get_web_page( $url )
{

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: