2016-05-03 13 views
1

Wie in Bild gezeigt, wenn ich versuche, https://www.example.com/Push_Order.php?orderId=1562 Es gibt mir 401 unbefugte Fehler auszuführen. Aber wenn ich diese URL im Browser starte, läuft es gut.curl 401 Unauthorized Fehler

Irgendeine Idee wo ist mein Fehler oder was ich vermisse?

enter image description here

PHP-Code Locken

<?php 

$ch = curl_init("https://www.example.com/Push_Order.php?orderId=1562"); 

curl_setopt($ch); 

$response = curl_exec($ch); 

curl_close($ch); 
?> 

und diese Push_Order.php Datei Abfrage enthält nur einfügen.

+0

Sicher, dein Fehler ist, dass du keinen Code hast und deine aktuelle Frage nichts mit PHP zu tun hat. – Inurosen

+0

@Inurosen die Datei enthält nur die Abfrage einfügen. –

Antwort

9

Es scheint, Sie haben die Berechtigung in Apache auf Ihrem Server aktiviert, aber Sie erkennen es im Moment nicht, weil Ihr Browser den Benutzernamen und das Passwort für Sie zwischenspeichert.

Sie haben wie so die CURLOPT_USERPWD Option einzustellen: (. Die leeren curl_setopt($ch) war komisch und einen no-op bestenfalls sowieso)

<?php 

$ch = curl_init("https://www.example.com/Push_Order.php?orderId=1562"); 

curl_setopt($ch, CURLOPT_USERPWD, "myusername:mypassword"); 

$response = curl_exec($ch); 

curl_close($ch); 
?> 

In der Kommandozeile sollte es funktionieren wie dieser (einschließlich Benutzername und Passwort in der URL):

curl https://myusername:[email protected]/Push_Order.php?orderId=1562 
+0

Ja, das ist der dumme Fehler! danke @CherryDT –

0

ich hatte genau diese Fehlermeldung von meinem Apache2 Web-Server kommen, und es dauerte Ich habe eine kleine Weile zu diagnostizieren, also möchte ich dokumentieren, was für jemanden falsch war, der das gleiche Problem wie ich untersucht hat und hier landete.

Ich nahm fälschlicherweise an, dass mein Apache lief gut und ich hatte wirklich ein Autorisierungsproblem, wie das ist, was die Nachricht impliziert. Die Realität war, dass ich Syntaxfehler in meinen Apache-Konfigurationsdateien hatte.

Wenn ein lokaler curl Sie dieses

enter image description here

gibt (das gleiche Zeichen für Zeichen geben oder eine URL und die Portnummer nehmen,) Sie können Sie ausführen können, überprüfen möchten glücklich

service apache2 reload 

bevor die Autorisierung zu stark untersucht wird!