2009-08-25 4 views
0

Ich benutze PHP für eine Weile, aber ich bin nicht zu fortgeschritten. Ich habe nicht viel Erfahrung mit Server-zu-Server-Sachen. Ich muss die Einrichtung eines Datenfeeds mit einem Anbieter untersuchen. Die Kontaktperson, mit der ich gesprochen habe, sagte, ich würde eine Datei von ihrem Server mit einem Benutzernamen und einem Passwort über die Standardauthentifizierung herunterladen. Kann mir bitte jemand sagen, wie man das macht?PHP: Datei von verschiedenen Webservern mit Standardauthentifizierung herunterladen?

Danke !!

Antwort

1
$f = fopen("http://$username:[email protected]"); 

dann verwenden Sie einfach die gleichen Methoden wie zum Manipulieren von Dateien, z. fread, fgets, fclose usw.

+0

Ich habe das verwendet, aber mit cURL. –

0

Sie verwenden wahrscheinlich eine SOAP-API, dieses Format verwendet (normalerweise) einen Benutzernamen/Passwort + Funktionsaufruf, um Daten vom Dienst zu erhalten/zu posten. Führen Sie eine Suche auf PHP SOAP, oder nusoap, etc. Das sollte Ihnen genug geben, um zu beginnen.

Ich würde jedoch einen soliden "Namen" des Dienstes zu verwenden. Ich nehme hier für Sie an, dass seine SOAP als das ist, was ich aus dem persönlichen Gebrauch am meisten kenne.

Edit: Es sei denn, die von 'Standardauthentifizierung' sie bedeuten: http://us.php.net/manual/en/features.http-auth.php

2

Besteht bei der Platzierung dieser Request-Header in der HTTP-Anforderung:


$login = "havenard"; 
$pass = "my l33t p4ssw0rd"; 

$header = "Authorization: Basic " . base64_encode("{$login}:{$pass}"); 

Nun, wie du gehst, um es dort platzieren hängt von den Methoden ab, die Sie zum Herstellen dieser Verbindung verwenden.

0

Ich nehme an, dass die Person so etwas wie HTTPAuth bedeutet, dh wenn ein Benutzername/Passwort-Feld auftaucht, wenn Sie auf eine Seite in Ihrem Browser gehen, müssen Sie Anmeldeinformationen angeben, bevor der Inhalt geladen wird.

Dafür können Sie CURL verwenden. PHP hat eine nette Menge von curl functions für die Handhabung. Sie müssen es mit der Option CURLOPT_NETRC konfigurieren.

1

Ich denke, dass, wenn sie dir gesagt, „eine Datei herunterladen“, können Sie eine cURL-basierte Lösung zu implementieren, könnte suchen: PHP: cURL - Manual

Und Sie die Header-Anfrage verwenden können dass Havenard in seinem Beitrag aufgeführt:

$login = "havenard"; 
$pass = "my l33t p4ssw0rd"; 
$auth = "Authorization: Basic " . base64_encode("{$login}:{$pass}"); 
Verwandte Themen