
vadkommondor
Kezdő
|
Sziasztok!
Van egy céges oldal, ami adatbázisból lekérdezés segítségével előállít egy táblázatot. Namármost, az oldalra bejelentkezés szükséges, felhasználói név/id/jelszó formában. Ezeket az adatokat tárolja a rendszer valami süti formában, mivel többet nem kell beírni a gép kikapcsolását követően sem.
Tehát, lekérdezük a táblázatot, amihez némi idő szükségeltetik nyilván. Ez egy zárt rendszer, ehhez csak külsőleg tudok csatlakozni.
Csináltam egy oldalt, ami próbál kapcsolódni az oldalhoz, curl_setopt segítségével beállítok pár paramétert, pl hogy várja meg, míg összeállítja az oldalt, átadom a felhasználónevet-idt-jelszót, és ezután elindítom a lekérdezést. Amikor ez megvan, akkor szeretném ezt majd egy domdocumentben feldolgozni, hogy kinyerjem a cellák tartalmát.
Most jön a kérdés...
Nem tudom, hogy helyesen adtam e meg neki az autentikációs adatokat beállító részt, továbbá hogyan adom át mindezt helyesen az exec-nek?
Íme a kód:
1
2
3
4
5
6
7
8
|
private $loginData = array(
'customer_id' => '*****',
'person_id' => '*******',
'username' => '*******',
'password' => '*******'
);
|
nyilván itt a *-ok helyett a valódi adatok vannak.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| $urlIn = $this->url->sourceUrl();
echo($urlIn);
$ch = curl_init($urlIn);
echo("</br>curl_init is " . ($ch ? "OK" : "failed") . "</br></br>rn");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $this->loginData);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
$result = @curl_exec($ch);
curl_close($ch);
if ($result) {
echo("Siker!</br>");
} else {
echo("Fuck!</br>");
}
echo("</br>Result is:</br>rn");
var_dump($result);
$_dom = new DOMDocument();
$st = $_dom->loadHTMLFile($result);
if ($st == true) {
echo("</br>loadHTML is OK</br>");
} else {
$_dom = NULL;
echo("</br>loadHTML is not OK</br>");
}
|
Megpróbáltam mindent kiiratni a képernyőre, hogy lássam mit is csinál. Látszólag mindenhol sikeresen végigmegy, ám az eredmény nem a táblázat, hanem egy hibaüzenet.
Hogyan tudom valahogy jobban nyomon követni, hogy mit hova és hogyan tölt be, és mit csinál vele?
Bárki tud valamilyen iránymutatást adni, kérem válaszoljon!
Köszi a választ előre is.
Pataki István
|