123 HTTP Transport
Seit Version 2.7 verwendet Wordpress für HTTP-Requests wie Trackbacks, Pings sowie Update- und Versions-Checks oder das Abrufen von externen RSS-Feeds eine eigene Klasse (http.php) und nicht mehr Snoppy (class-snoppy.php).
Das Konzept dieser neuen Klasse sieht die Möglichkeit vor, die HTTP-Requests mit einer von mehreren geeigneten PHP-Methoden auszuführen. Damit sind die Chancen größer, das die Requests auch funktionieren, je nach dem wie der Server und PHP konfiguriert sind. Derzeit werden fünf Methoden verwendet:
- cURL
- Streams
- fopen
- fsockopen
- HTTP Extension
Die Klasse “WP_Http” prüft mit einfachen Mitteln die Verfügbarkeit der einzelnen Methoden und verwendet dann die am besten geeignete anhand einer Prioritätslist. Es kann aber passieren, daß die gewählte Methode formal zwar existiert, aber dennoch nicht richtig funktioniert. Das führt unter Umständen zu Geschwindigkeitproblemen (durch Request-Timeouts) oder im schlimmsten Fall zu Verbindungsabbrüchen. Letztere hatte ich bei einer lokalen Test-Installation unter Windows 2000 mit Apache 1.3.33 mit PHP 5.2.6 beobachtet. Ursache war die nicht richtig funktionierende “Streams”-Methode.
In weiser Voraussicht hat der Entwickler der Klasse aber Filter-Hooks eingebaut, mit deren Hilfe man die Verwendung der einzelnen Methoden auch explizit deaktivieren kann. Diese Möglichkeit nutzt das Plugin 123 HTTP Transport und ermöglicht es, die einzelnen Request-Methoden zu deaktivieren:

In der Liste werden nur die Transport-Methoden angezeigt, die aktuell von WP_Http erkannt wurden. Mit den Häkchen können die Methode ein oder ausgeschaltet werde.
Vorgehensweise bei Problemen
Falls Probleme im Zusammenhang mit HTTP-Requests auftreten, sollten von oben beginnend die Transport-Methoden schrittweise deaktiviert werden. Die HTTP-Klasse versucht die in der Liste aufgeführten Methoden in der Reihenfolge von oben nach unten zu verwenden. Für GET-Requests (RSS-Feed holen, WP-Versionscheck) kommen alle fünf Methoden in Betracht, bei POST-Requests jedoch nur Streams, fsockopen und HTTP Extension. POST-Request werden für alle zeitgesteuerte Aktionen (WP-Cron), wie geplante Artikel und auch für Trackbacks und den Plugin- und Themecheck verwendet.
Falls in älteren Versionen vor WP 2.7 keine Probleme auftraten, könnte versuchsweise auch nur die Methode fsockopen aktiviert werden (alle anderen deaktivieren), da vor Einführung der HTTP-Klasse praktisch nur fsockopen verwendet wurde.
Download: 123 HTTP Transport 0.10

Hallo,
mir wurde dieses Plugin im WP-Forum empfohlen (siehe: http://forum.wordpress-deutsch...5-problem-mit-rss-widget.html). Der Import der Artikel mittels des RSS-Widget funktioniert nur, wenn das Plugin aktiviert ist und die Methode “fopen” ausgewählt ist. Angezeigt werden in meinem Adminbereich unter Settings folgende Methoden: cURL, fopen und fsockopen. Solange dieses Plugin jedoch aktiviert ist, habe ich ein Problem mit dem veröffentlichen einzelner Artikel. Obwohl der Artikel auf meinem Blog erscheint, erhalte ich im Adminbereich auf einer leeren Seite folgende Fehlermeldung: “You attempted to edit a post that doesn’t exist. Perhaps it was deleted?” Wenn ich jedoch dieses Plugin deaktiviere, erscheint die Fehlermeldung nicht mehr. Nachteil: Das RSS-Widget importiert nicht mehr die Artikel aus dem zweiten Blog. Lässt sich dieses Problem in irgendeiner Art und Weise beheben?
Gruß
Raphael
Nur “fopen” führt dazu, daß alle POST-Requests (z.B. WP-Cron) nicht ausgeführt werden, da für POST-Requests nur die Methoden Streams, fsockopen und HTTP Extension verwendet werden.
Wenn für die RSS-Feeds fopen funktioniert, solltest Du aber trotzdem auch fsockopen aktivieren, damit POST-Requests ausgeführt werden können. Für die GET-Requests (z.B. Feed einlesen) wird dann trotzdem fopen verwendet, da es in der Liste weiter oben steht.
Hallo zusammen,
ich habe hier anscheinend das glеiсhe Problem:
Die “alte” WordPress Version läuft einwandfrei und schnell, während die 2.7 er nach mehr als 10 Min im Frontend abbricht: Im Backend ist die Geschwindigkeit normal.
Alles läuft auf einem Strato Server: Zur Zeit teste ich den oben genannten Vorschlag -nicht geklappt.-nach 3 Tagen wohl der letzte Versuch mit der “neuen” ;-(
Für Ideen und Vorschläge bin ich immer zu haben.
Grüsse
Würde mir das auch helfen, wenn ich WP 2.7.1 Offline oder bei einem Hoster berteibe, der keine Remote Connections zulässt?
Ja, klicke auf meinen Namen für mehr Infos.
WP 2.7.1 läuft bei mir in einem Unterverzeichnis auf einem DomainBox-Server. Nach der Installation hatte ich mit Seitenaufbauzeiten von mehr als einer Minute zu kämpfen, was natürlich nicht akzeptabel war.
Dein PlugIn hat mir zwar lediglich die Optionen Streams, fopen und fsockopen angezeigt (mehr gibt es bei DomainBox wohl einfach nicht), ein Entfernen der Häkchen und Sichern der Einstellungen beseitigte allerdings die unerträglichen Wartezeiten — vielen Dank!
Ein testhalber veröffentlichter Artikel plus Testkommentare wurden im Blog angezeigt. Von daher scheint jetzt alles zu funktionieren, wie ich es brauche.
[...] Der Grund für meinen Test-Artikel war und ist das Problem, dass Wordpress seit der Version 2.7.1 scheinbar keine in der Zukunft datierten Artikel veröffentlichen kann. Abhilfe schuf bei mir das PlugIn “123-HTTP Transport“. [...]
[...] 123 HTTP Transport Die von Wordpress genutzen HTTP-Request-Methoden lassen sich mit diesem Plugin kontrollieren. Für den alltäglichen gebrauch ist dies eher uninteressant. Wer allerdings Probleme mit Pingbacks, der Versionsprüfung oder der Einbindung externer Feeds hat, wird die Hilfe dieses PlugIns zu schätzen wissen. Gerade Freehoster machen gerne Einschränkungen bei curl, fopen & Co. [...]
[...] http://superlativelounge.de/20...21/wordpress-fehlende-planung/ http://schnurpsel.de/wordpress-plugins/123-http-transport/ [...]
Danke für das PlugIn!
Funktioniert einwandfrei und ich kann meine Artikel wieder planen. so wie ich das möchte!
Danke!
[...] dahin kann man sich mit dem PlugIn “123 HTTP Transport” von Ingo Henze behelfen. Dieses bietet die Möglichkeit, diverse http-Transportmethoden einzeln zu [...]
It would be better if you will add an option to select language for this plugin …