Systemvoraussetzung
- Linux
- Windows
- PHP 4 >= 4.0.3
- PHP 5
- curlBibliothek
Datei(en)
curl_auth.php
Problem
Sie haben bereits im vorangegangenen Beispiel gesehen, wie Sie ein Formular
mittels CURL-Funktionen
automatisiert ausführen. Was ist aber, wenn dieses
Formular hinter einem passwortgeschützten Bereich liegt?
Wir werden in diesem Beispiel aufzeigen, wie Sie wiederum mit den CURL-Funktionen
dieses kleine Problem lösen.
Lösung
Wir nehmen unsere bereits bekannte Funktion aus dem vorherigen Beispiel
und erweitern sie für die Aufnahme eines Usernamens und eines Passworts
für ein geschütztes Verzeichnis. Da wir bereits im vorherigen Kapitel den Programmcode
beschrieben haben, werden wir hier nur die Neuerungen erklären.
function curlStart($domain, $var)
@param string $domain
@param string $var
@param string $user
@param string $pass
@return bool $send
Der Funktion curlStart() werden zwei zusätzlich Variablen übermittelt,
damit die CURL-Funktionen
diese an die aufrufende Seite übermitteln können.
Wir überprüfen innerhalb der Funktion, ob ein Username und Passwort
übermittelt wurden (44). Falls ja, so setzen wir die weitere Option
CURLOPT_USERPASSWD (45) und können jetzt die Abfrage senden.
34:
35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65:
| function curlStart($domain, $var = false, $user = false, $pass = false){
$fp = curl_init($domain); curl_setopt($fp,CURLOPT_TIMEOUT,10); curl_setopt($fp,CURLOPT_FAILONERROR,1); curl_setopt($fp,CURLOPT_RETURNTRANSFER,1);
if($user != false || $pass != false) {
curl_setopt($fp,CURLOPT_USERPWD,$user.":".$pass); }
if($var != false) {
curl_setopt($fp,CURLOPT_POST,1); curl_setopt ($fp, CURLOPT_POSTFIELDS, $var); } curl_exec($fp);
if(curl_errno($fp) != 0) {
$send = FALSE;
} else {
$send = TRUE; } curl_close($fp); return $send; }
|
Beispiel 10.6: curl_auth.php
Wir haben hier als Beispiel den Programmcode des vorangegangenen Beispiels
herangezogen. So wäre es z. B. auch möglich, verschiedene Seiten mit unterschiedlichen
Zugangsdaten anzusteuern. Sie müssen lediglich den Usernamen
und das Passwort für jede Abfrage übermitteln. 67: 68: 69: 70: 71: 72: 73: 74: 75:
| $formURL = 'http://www.nureinbeispiel4.de/curl_formular.php';
$var = 'vorname=Damir&name=Enseleit'; $user = 'Damir'; $passwd = 'Enseleit';
for($x=0;$x<50;$x++) {
$send = curlStart($formURL,$var, $user, $passwd);
} |
Beispiel 10.7: curl_auth.php
Dieses Skript aus dem SELFPHP KOCHBUCH wurde von SELFPHP unter dem "Tarif Mc500" von McAc.net-Webhosting erfolgreich ausgeführt und getestet!
Auf der Übersichtseite unter "McAc.net – Webhosting zu diesem Buch" finden Sie weitere Informationen zu dem Webhostingpaket, dass durch SELFPHP getestet wurde.
|