File-get-contents failed to open stream Unbefugte
Ich versuche, mit file_get_contents.Ich habe sicher gestellt, dass allow_url_fopen aktiviert ist in php.ini. Jetzt ist es mir zu sagen:
[function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 401 Unauthorized
Alles, was ich Tue ist das folgende, das kann ich Zugriff über browser ohne Probleme.
$url=('http://site/@api/users/[email protected]/properties');
$xmlString=file_get_contents($url);
Ich glaube, dies ist ein Authentifizierungs-Problem, aber nicht sicher, wie kann ich liefern die richtigen Anmeldeinformationen aus dem script selbst. Irgendwelche Ideen würde sehr geschätzt werden.
Wenn es keine authenticaion überall, das klingt wie der server ist, erkennen, dass Sie ein remote-Skript, oder vielleicht die Blockierung der IP.
Das ist ein
stimmt, guter Punkt!
Das ist ein
403 Forbidden
, nicht ein 401 Unauthorized
. 401 Unauthorized
ist 'speziell für die Verwendung bei der Authentifizierung ist möglich, wird aber fehlgeschlagen ist oder noch nicht zur Verfügung gestellt wurden.' (von Wikipedia)stimmt, guter Punkt!
InformationsquelleAutor Aaron | 2010-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der url versuchen:
Anhängen, was der rest der URL für die API)
Ich erhalte eine Warnung für sprintf sagen, dass es zu wenig Argumente. Jede chance, die Sie würde wissen, was ist falsch? Nicht sicher, wenn ich einen neuen Beitrag erstellen hier oder nicht.
einen neuen Beitrag erstellen und veröffentlichen Sie den code in Frage
Ich bin versucht zu laufen ein Request-URI aus der Quickbooks-API, aber ich kann nicht scheinen, um diese Arbeit zu machen.
Diese Methode wird in der Regel funktioniert nur, wenn der service wird über die HTTP-Basic-Auth. Es ist auch nicht eine sehr gute Idee im Allgemeinen. Ich bin nicht vertraut mit der QuickBooks-API, aber ich würde Wetten, es nutzt OAUTH oder andere token-basierte Authentisierung oder API-Schlüssel. Sie sollten sich auf Ihre Unterlagen
InformationsquelleAutor Cfreak
Einfach die Benutzer-info in der URL:
InformationsquelleAutor Raoul Duke
Den
401 Unauthorized
status-code bedeutet, dass Sie authentifiziert haben, aber das haben Sie nicht, oder, dass Sie authentifiziert haben, mit dem falschen Anmeldeinformationen. Es wird am häufigsten bei der Verwendung von HTTP-Authentifizierung, die Authentifizierung integriert in das HTTP-Protokoll und daher ist universal, nicht nur für HTML-Dokumente, aber für alles übertragen über das HTTP-Protokoll.Authentifizierung mit HTTP-Authentifizierung, fügen Sie einfach
username:password@
vor dem Hostnamen in der URL. Zum Beispiel:Dieser Anfrage würde die
/passwordprotected/
Verzeichnis vonexample.com
mit dem Benutzernamenfoobar
und das Passwortmysupersecretpassword
.Es ist nicht schlimmer als das. 🙂
InformationsquelleAutor Frxstrem