Wie man Ergebnisse aus dem Wikipedia-API mit PHP?
Bin ich wohl nicht verwenden sollte file_get_contents() Was sollte ich verwenden? Ich möchte um es einfach zu halten.
Warnung: file_get_contents(http://en.wikipedia.org/w/api.php?action=query&titles=Your_Highness&prop=revisions&rvprop=content&rvsection=0): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
php.net/manual/en/book.curl.php
Sie können es mit file_get_contents, aber wenn Sie es einfach mögen, verwenden Sie cURL statt, denn Sie müssen den Umgang mit cookies, wie beschrieben, in der API-Dokumentation. Sowohl die native PHP-cURL-Möglichkeiten, lassen Sie, aber es ist viel einfacher in Schwung.
Besser als cURL ist HTTP_Request2 herunterladen können Sie es über Pear ein viel schöneres Erlebnis, wie es ist eine richtige OO-Bibliothek
Sie benötigen zum verarbeiten von cookies nur, wenn Sie einloggen wollen. Es ist nicht notwendig, nur für den Zugriff auf es.
Sie können es mit file_get_contents, aber wenn Sie es einfach mögen, verwenden Sie cURL statt, denn Sie müssen den Umgang mit cookies, wie beschrieben, in der API-Dokumentation. Sowohl die native PHP-cURL-Möglichkeiten, lassen Sie, aber es ist viel einfacher in Schwung.
Besser als cURL ist HTTP_Request2 herunterladen können Sie es über Pear ein viel schöneres Erlebnis, wie es ist eine richtige OO-Bibliothek
Sie benötigen zum verarbeiten von cookies nur, wenn Sie einloggen wollen. Es ist nicht notwendig, nur für den Zugriff auf es.
InformationsquelleAutor Curtis | 2012-01-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem, das Sie laufen in die hier ist in Bezug auf die MW-API User-Agent-Richtlinie - Sie muss eine
User-Agent
- header und header angeben müssen einige Mittel der Kontaktaufnahme mit Ihnen.Können Sie dies mit
file_get_contents()
mit einem stream Kontext:Having said that, es könnte als "standard" zu verwenden cURL, und dies wird sicherlich geben Ihnen mehr Kontrolle:
Sowohl die explizite Antwort auf die Frage nach dem "richtigen Weg". Gut beantwortet, sir.
InformationsquelleAutor DaveRandom
Die Fehlermeldung, die Sie wirklich empfangen ist
Dies bedeutet, dass Sie zusätzliche details über sich selbst, wenn über die API. Ihre Nutzung von file_get_contents tut, senden Sie die gewünschte User-Agent.
Hier ist ein funktionierendes Beispiel in curl, die identifiziert sich selbst als ein Test für diese Frage:
InformationsquelleAutor favo
file_get_contents
Funktionieren sollte.Diese wurde vorher besprochen, auf stackoverflow hier
Auch einige nett aussehende code-Beispiele hier
InformationsquelleAutor jon
Sie sagen von sich selbst in Ihren API-Dokumentation:
Müssen Sie Holen Sie sich die URL rechts, thefollowing worksfor mir :
http://en.wikipedia.org/w/api.php?format=json&action=query&titles=Main%20Page&prop=revisions&rvprop=content
sind Sie nicht die Angabe des Ausgabe-format so weit ich bemerken Sie jetzt!
InformationsquelleAutor whizzzkid