Curl-Optionen entsprechen "useDefaultCredentials" von Net.Webclient

8

Ich versuche mit curl in einem PHP-Skript auf das Web zuzugreifen:

%Vor%

Es gibt zurück:

  

Verbindung zu www.google.fr nicht möglich Port 443: Verbindung verweigert

Das ist normal, ich bin hinter einem Proxy, der meine Windows-Anmeldeinformationen (NTLM) benötigt, um Internetverkehr zu ermöglichen.

In MS Powershell funktioniert das:

%Vor%

Wenn Sie die "DefaultCredentials" (= Windows-Anmeldeinformationen) verwenden und sie an den Proxy senden, kann ich auf das Web zugreifen. Aber ich weiß jetzt nicht wie es funktioniert.

Wenn ich mit Firefox navigiere, fügt Firefox immer einen Header Proxy-Authorization mit dem Wert Negociate blablablablababalazdlad ...

hinzu

Ich möchte die .NET-UseDefaultCredentials-Lösung nach cURL transponieren, ich habe es versucht:

%Vor%

Ohne Erfolg

    
Alsatian 09.08.2017, 09:49
quelle

2 Antworten

2

curl kann dies tun, wenn es mit aktivierter SSPI Unterstützung erstellt wurde. Normalerweise können Sie curl -V in einer Eingabeaufforderung ausführen, um dies zu überprüfen. oder php -i oder rufen Sie phpinfo(); in PHP selbst auf.

Mit SSPI

Sie setzen die Option CURLOPT_PROXYUSERPWD auf einen leeren Benutzer / passwd (zusätzlich zu den anderen Optionen), um nur die Authentifizierung auszulösen, aber dann werden die Standard-Anmeldedaten für Sie abgerufen:

%Vor%

Der vollständige Code würde dann etwa so aussehen. Beachten Sie auch, dass CURLOPT_HTTPAUTH für die Authentifizierung beim Remote-Server und nicht für den Proxy gilt. Und ich denke, es ist unwahrscheinlich, dass Sie tatsächlich HTTP-Authentifizierung mit Google wollen ...

%Vor%

Ohne SSPI

Dann kann curl die Standardanmeldeinformationen nicht ermitteln, stattdessen müssen Sie den Benutzernamen und das Kennwort mit der Option CURLOPT_PROXYUSERPWD wie folgt festlegen:

%Vor%     
Daniel Stenberg 24.08.2017 06:48
quelle
2
  

Ich versuche mit curl in einem PHP-Script auf das Web zuzugreifen:    Ссылка

Das Problem ist, dass Google-Inhalte über ssl geliefert werden, d. h. https: Ich habe Ihren Code geändert, um https-Verbindung zuzulassen:

%Vor%

Lassen Sie andere wissen, ob Ihnen das geholfen hat

    
Prince Adeyemi 28.08.2017 16:52
quelle

Tags und Links