Potrzebuję za pomocą skryptu zalogować się na stronę.
Mam już coś takiego:
function createPostString($aPostFields) { foreach ($aPostFields as $key => $value) { } } $cookies = 'cookies.txt'; $postFields['name'] = 'xxx'; $postFields['password'] = 'xxx'; $postFields['lowRes'] = '0'; $postFields['s1'] = ''; $postFields['login'] = '1360409045'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'http://ts9.travian.pl'); curl_setopt($curl, CURLOPT_REFERER, 'http://ts9.travian.pl'); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12;MEGAUPLOAD 1.0"); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($curl, CURLOPT_COOKIEFILE, $cookies); curl_setopt($curl, CURLOPT_COOKIEJAR, $cookies); curl_setopt($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, createPostString($postFields)); $site = curl_exec($curl); curl_close($curl);
Tylko pojawia się problem, bo jak rozumiem to przy wysyłaniu formularza muszą być wszystkie pola wypełnione. I próbuję wyciągnąć z czegoś takiego wartość value, ale za nic nie mogę dopasować wyrażenia regularnego.
<input type="hidden" name="login" value="1360412065" />
Może ktoś podpowiedzieć jak powinienem sformułować wyrażenie, aby było dobrze? I czy skrypt w ogóle będzie miał prawo działać?