Skocz do zawartości

Logowanie na allegro za pomocą cURL


amii

Rekomendowane odpowiedzi

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.

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

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

Darmowe gry flash

Odnośnik do komentarza
Udostępnij na innych stronach

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

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
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, "https://allegro.pl");

curl_setopt($curl, CURLOPT_URL, "https://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

Odnośnik do komentarza
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, "https://allegro.pl/mainpage_login.php");

a nie HTTPS ???

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

ITD

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Ta strona -> https://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

Odnośnik do komentarza
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" />

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
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

Odnośnik do komentarza
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ń.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
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.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności