amii

Logowanie na allegro za pomocą cURL

Polecane posty

Wie ktoś jaki tam myk zastosowali ? Wszystkie dane POST są na 100% wysyłane w poprawnej formie, ciastka i przekierowania włączone ale wywala na główną stronę bez loginu.

Skorzystanie z ich API odpada.

Edytowano przez amii

Najtańsze przedłużenia domen: masternet.pl468x60.jpg

50 zł w zakładzie bez ryzka - betclic.pl

Darmowe gry flash

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Allegro używa protokołu SSL wiec musisz zaimplementować obsługę logowania z SSL


redbanner.png

 

HTTP 200 usługi IT - Dariusz Janicki | Realizacja serwisów ww oraz oprogramowania.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Może wrzucę kod:

error_reporting(E_ALL);

ini_set('display_errors', TRUE);

ini_set('display_startup_errors', TRUE);

function loguj_allegro() {

$cookie_file = 'cookie.txt';

$post = array('session'=>'',

'global_login_hash'=>'',

'session_login_hash'=>'',

'url'=>'',

'cod'=>'');

$curl = curl_init();

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);

curl_setopt($curl, CURLOPT_REFERER, "http://allegro.pl");

curl_setopt($curl, CURLOPT_URL, "http://allegro.pl/mainpage_login.php");

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.16) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)');

curl_setopt($curl, CURLOPT_POST, 0);

$strona = curl_exec($curl);

/************************SEKCJA WYDOBYWANIA DANYCH ZE STRONY****************************/

//reg_session

preg_match('#<input type="hidden"\s+name="session(\S\s+)value="(\S+)"#Usi', $strona, $out);

if($out)

{

$post['session'] = urlencode($out[2]); //dopasowanie $post[name] = value

//echo 'session: ' .$post['session']. '<br>';

}

//reg_login_hash

preg_match('#<input type="hidden" name="global_login_hash" value="(\S*)"#Usi', $strona, $out);

if($out)

{

$post['global_login_hash'] = urlencode($out[1]); //dopasowanie $post[name] = value

//echo 'global_login_hash: ' .$post['global_login_hash']. '<br>';

}

//reg_session_hash

preg_match('#<input type="hidden"\s+name="session_login_hash" value="(\S*)"#Usi', $strona, $out);

if($out)

{

$post['session_login_hash'] = urlencode($out[1]); //dopasowanie $post[name] = value

//echo 'session_login_hash: ' .$post['session_login_hash']. '<br>';

}

//reg_url

preg_match('#<input type="hidden"\s+name="url" value="(\S*)"#Usi', $strona, $out);

if($out)

{

$post['url'] = urlencode($out[1]); //dopasowanie $post[name] = value

//echo 'url: ' .$post['url']. '<br>';

}

//reg_cod

preg_match('#<input type="hidden"\s+name="cod" value="(\S*)"#Usi', $strona, $out);

if($out)

{

$post['cod'] = urlencode($out[1]); //dopasowanie $post[name] = value

//echo 'cod: ' .$post['cod']. '<br>';

}

$post['request_server'] = 'ssl.allegro.pl';

$post['user_login'] = 'my_secret_login';

$post['user_password'] = 'my_secret_password';

print_r($post); //dane poprawne

$url = "https://ssl.allegro.pl/enter_login.php?session=".$post['session']."&global_login_hash=".$post['global_login_hash']."&session_login_hash=".$post['session_login_hash']."&url=".$post['url']."&cod=".$post['cod'];

/************************SEKCJA WYDOBYWANIA DANYCH ZE STRONY****************************/

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);

curl_setopt($curl, CURLOPT_REFERER, $url);

curl_setopt($curl, CURLOPT_URL, "https://ssl.allegro.pl/login.php");

curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($curl, CURLOPT_SSLVERSION, 3);

curl_setopt($curl, CURLOPT_POST, 1);

curl_setopt($curl, CURLOPT_POSTFIELDS, $post);

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$strona = curl_exec($curl);

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);

curl_setopt($curl, CURLOPT_REFERER, "https://ssl.allegro.pl/login.php");

curl_setopt($curl, CURLOPT_URL, "https://ssl.allegro.pl/direct_login.php?session=".$post['session']."&global_login_hash=".$post['global_login_hash']."&session_login_hash=".$post['session_login_hash']."&url=".$post['url']."&cod=".$post['cod']);

$strona = curl_exec($curl);

echo $strona; //strona wywala z prośbą o padanie loginu i hasła

$info = curl_getinfo($curl); //transfer OK

var_dump($info); //dane OK

curl_close($curl);

}

loguj_allegro();


Najtańsze przedłużenia domen: masternet.pl468x60.jpg

50 zł w zakładzie bez ryzka - betclic.pl

Darmowe gry flash

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sprawdź dokładnie jakie dane POST wysyłane są z przeglądarki, bo może są ukryte pola w formularzu, zakodowane dane których brak uniemożliwia prawidłowe logowanie.

Dlaczego tu wywołujesz http :

curl_setopt($curl, CURLOPT_URL, "http://allegro.pl/mainpage_login.php");

a nie HTTPS ???

Poza tym przy prawidłowym zalogowaniu jest przekierowanie na http://allegro.pl/ jednak wtedy w kolejnych ządaniach HTTP możesz wywołać strony typowe dla zalogowanego np http://allegro.pl/myaccount/bid.php

ITD


redbanner.png

 

HTTP 200 usługi IT - Dariusz Janicki | Realizacja serwisów ww oraz oprogramowania.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ta strona -> http://allegro.pl/mainpage_login.php jest normalnie wywoływana a z https się dopiero później łączy

POST jest na pewno wysyłany ok sprawdzam w zmiennych + livehttpheaders Wydaje mi się, że tam jest coś z ciastkami pokręcone ale nie wiem co. Dziwna sprawa bo raz mi się udało tam zalogować zmieniając ciastko ale nie wiem jak to powtórzyć.


Najtańsze przedłużenia domen: masternet.pl468x60.jpg

50 zł w zakładzie bez ryzka - betclic.pl

Darmowe gry flash

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jeszcze masz całą masę zmiennych w ukrytych polach formularza które należy wysłać:

<form action="/login.php" name="form_login" method="post"><input type="hidden" name="session" value="Mjg0NQZVCwRRCFABAwcOXAFdDAAJAVwGUQsDDQFSDVFWAFVWUQEBVlYMBwYIVw8DAF4AUABQMGM5
ZQ==" /><input type="hidden" name="global_login_hash" value="c6adbd6205daf186ec8ee162481c9b6df305c0c0" /><input type="hidden" name="session_login_hash" value="92d890d5404df7b02b07f6b34c05beee00be5223" /><input type="hidden" name="url" value="OWM0NFlMFhUDTBtDRk9MBFUPUVNDV0wVVUxRRkNXEEpYAFdRQks9AEsRW0YfSAoVBg1ba1VREFgI
MThiZQ==" /><input type="hidden" name="cod" value="OGZkZlVlNmJk" /><input type="hidden" name="request_server" value="ssl.allegro.pl" />

Edytowano przez Mion

redbanner.png

 

HTTP 200 usługi IT - Dariusz Janicki | Realizacja serwisów ww oraz oprogramowania.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mion ale to o czym mówisz jest wysyłane do https://ssl.allegro.pl/login.php

Wysyłam wszystkie dane POST tak jak wysyła livehttpheaders, także tutaj raczej nie ma mowy o pomyłce. Po prostu na allegro jest jakiś myk albo zabezpieczenie, wujka google oczywiście też pytałem. Jeśli ktoś zrobił logowanie do allegro oparte o cURL to proszę o pomoc na pewno odwdzięczę się czymś więcej niż wirtualnym piwem :)


Najtańsze przedłużenia domen: masternet.pl468x60.jpg

50 zł w zakładzie bez ryzka - betclic.pl

Darmowe gry flash

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Jeśli ktoś zrobił logowanie do allegro oparte o cURL to proszę o pomoc na pewno odwdzięczę się czymś więcej niż wirtualnym piwem
Wiec daj konkretne zlecenie w dziale ogłoszeń.

redbanner.png

 

HTTP 200 usługi IT - Dariusz Janicki | Realizacja serwisów ww oraz oprogramowania.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

amii jeżeli nadal szukasz i odwdzięczasz się czymś więcej niż piwem to zapraszam na PW


Nie mam pojęcia dlaczemu wyleciały i mają filtera Polskie znaki w adresach Joomla od nowa napisane, czytelnie i logicznie. Dylemat adres z www czy bez? Powinno to rozwiać wszelkie wątpliwości.

Naprawiam kodowanie [krzaki, chińskie znaki, polskie znaki] dowiedz się także czymże jest kodowanie znaków bo to podstawa.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony


  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.