Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][php curl] Problem z zalogowaniem - curl, Problem z curl
zaxxxon
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.03.2017

Ostrzeżenie: (0%)
-----


Mam problem z jedną ze stron mojego dostawcy, chcę ja "przejechać" curlem ale jest problem z tą stroną logowania:


<html>
<head>
<title>Konfiguracja....</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Set-Cookie" content="webid2=ABCDEFG;expires=31-DEC-2019 23:59:59 GMT;">
<meta http-equiv="Set-Cookie" content="session_id=nr_sesji;expires=31-DEC-2019 23:59:59 GMT;">
</head>
<body onLoad="document.mainform.submit();" bgcolor="#FFFFFF" background="images/main_back.gif" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" scroll="no">
<form name="mainform" action="homework" target="_top"></form>
</body>
</html>

Domyślam się, że to przez to przekierowanie: document.mainform.submit();

Bo pojawia się u mnie błąd: 404, nie odnaleziono /homework (testuję to na localhoscie)

Nie mogę podać url do strony, bo jest ona u mnie w intranecie i nie chciałbym jej podawać mimo wszystko.
Natomiast mój kod php wygląda tak:


$form_url='https://......../login';
$post_var = 'act=passcode&usr=IDENTYFIKATOR&location=homework';
$ch=curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_URL, $form_url);
curl_setopt($ch, CURLOPT_COOKIEJAR,'cookie-'.$name_site.'.txt');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1); //zmienne post
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_var);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //aby pomijac cert ssl
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
//ob_start(); // prevent any output
curl_exec($ch); // execute the curl command
//ob_end_clean(); // stop preventing output
//echo print_r(curl_getinfo($ch));echo "<br><br>";
echo curl_errno($ch);
curl_close ($ch);
unset($ch)


To główny fragment kodu. To co do przekazania w post podglądałem sobie w dodatku do firefoxa HttpFox.
Chociaż dziwi mnie, że potem obserwując ten swój kod nie widzę już w HttpFox żadnych danych POST, natomiast są tam dane GET, ale pewnie tak powinno to działać.
Go to the top of the page
+Quote Post
aras785
post
Post #2





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


A jaki błąd Ci się pojawia lub napisz co Ci nie działa?

Jeśli 404 to oznacza, ze po prostu dajesz zły adres... Sprawdź gdzie tak naprawdę logowanie prowadzi, ale nie przez źródło tylko przez narzędzie dla dewelopera (google chrome: F12 -> zakładka: Network).
Dla opcji:
  1. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
daj
  1. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);


Pozdrawiam
Go to the top of the page
+Quote Post
zaxxxon
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 8.03.2017

Ostrzeżenie: (0%)
-----


Oczywiście że podaję prawidłowy adres! Przecież pisałem też, że korzystam z narzędzia HttpFox. Adres jest prawidłowy, bo jak na niego wchodzę to mam formularz logowania.
Widzę, że strona ze strony logowania przechodzi na kolejną.... i właśnie na tej kolejnej jest tak naprawdę to źródło które wkleiłem...

<form name="mainform" action="homework" target="_top"></form>

U mnie - co też pisałem - pojawia się po tym przekierowaniu błąd 404, bo nie ma takiej strony u mnie jak, załóżmy że podam pełną ścieżkę z apache:

http://localhost/moj_skrypt/homework

mógłbym ew. zastosować od razu header( ) i zmianę lokacji samemu, ale nie wiem czy tak mogę. Poza tym nie utworzył mi się plik cookie.

Testowałem z inną stronką (tym razem własnego autorstwa) i bez problemu przechodzę przez formularz logowania i tworzy się u mnie plik cookie.

Może chociaż jakieś podpowiedzi? Np. czemu nie tworzy mi się cookie, czy te przekierowania w js document.form.submit są groźne dla działania curla?


Ten post edytował zaxxxon 8.03.2017, 16:31:39
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:14