• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Curl i document.from.submit - problem

Object Storage Arubacloud
0 głosów
82 wizyt
pytanie zadane 10 marca 2017 w PHP przez itcloud Gaduła (3,380 p.)

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, true);
//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ć.

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.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 623 wizyt
pytanie zadane 13 maja 2017 w PHP przez benzulli Użytkownik (720 p.)
0 głosów
3 odpowiedzi 753 wizyt
pytanie zadane 10 marca 2018 w PHP przez dervil Gaduła (3,030 p.)
0 głosów
1 odpowiedź 544 wizyt

92,556 zapytań

141,404 odpowiedzi

319,563 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...