PHP Curl Verbindung zu einer geschützten Webseite und Login über POST

Gepostet am Dezember 28, 2012

Folgend möchte ich zeigen, wie man Daten einer Webseite ausliest welche nur im eingeloggten Zustand zu sehen sind.

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
28
29
30
31
32
33
34
35
36
37
38
39
//###############################################################################################
//## CURT BEGIN //login
//###############################################################################################
//set POST variables
$url ="http://www.XXX.de/index.php"; //form action url
$fields = array(
		'loginaction'=>'login',
		'mail'=>urlencode(LOGINEMAIL),
		'kennwort'=>urlencode(KENNTWORT),
		'submit'=>urlencode('anmelden'),
);
 
$fields_string = '';
foreach($fields as $key=>$value) { 
	$fields_string .= $key.'='.$value.'&'; 
}
 
$fields_string = substr($fields_string,0,-1);
 
 
$postfields = $fields_string;
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0); // Get the header
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // Allow redirection
curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp'); // COOKIEPATH selbst wählen
curl_setopt($ch, CURLOPT_COOKIE, session_name().'='.session_id()); //für Magento wichtig
curl_setopt($ch, CURLOPT_COOKIESESSION, true); //für Magento wichtig
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "$postfields");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); //gib ausgabe zurück und erzeugt keine Ausgabe
$curlData = curl_exec($ch);
 
//###############################################################################################
//## RESET CURL OPTIONS
//###############################################################################################
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, "");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); //gib ausgabe zurück und erzeugt keine Ausgabe

Achtung, die Verbindung darf nicht geschlossen werden, erst am Ende!

1
2
3
4
5
6
7
8
9
10
11
//###############################################################################################
//## READ PAGE CONTENT
//###############################################################################################
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL,'http://www.XXX.de/geschuetzte-seite');
echo $curlData = curl_exec($ch)
 
//###############################################################################################
//## CLOSE CURL
//###############################################################################################
curl_close($ch);

Tags: ,

Leave a Reply

 

Posts of Current Category



Facebook: