Ich versuche, das WordPress-Importer-Plugin zu verwenden, um eine XML-Datei zu importieren, die aus einem anderen WordPress-Blog exportiert wurde, auf dem sich zufällig eine HTTP-Authentifizierung befindet.
Wenn ich den Import ausführe, schlagen Mediendateien wie folgt fehl:
Failed to import Media “Image replace”: Remote server returned error response 401 Unauthorized
Wenn ich ein Suchen und Ersetzen in der XML-Datei mache, muss die URI sein
username:[email protected]
Ich bekomme
Failed to import Media “Image replace”: Remote server did not respond
Sollte ich beim Suchen/Ersetzen selektiver vorgehen? Oder gibt es eine andere Möglichkeit, die Auth-Anmeldeinformationen bereitzustellen?
TI, Billy
Ich konnte das zum Laufen bringen. Ich habe bei allen Vorkommen des URI mit der Benutzernamen- / Passwortversion gesucht und ersetzt.
Ich musste dann eine Zeile des WordPress-Codes ändern. Im
wp-includes/http.php
Ich habe diese Methode geändert:
function wp_safe_remote_request( $url, $args = array() ) {
$args['reject_unsafe_urls'] = true;
$http = _wp_http_get_object();
return $http->request( $url, $args );
}
lesen
function wp_safe_remote_request( $url, $args = array() ) {
$args['reject_unsafe_urls'] = false; // <------- just this line
$http = _wp_http_get_object();
return $http->request( $url, $args );
}
Ich musste Header zur Authentifizierung verwenden, weil wp die Authentifizierung in der URL verstümmelte.
In wordpress-importer.php …
$args_ = array(
'timeout' => 300,
'stream' => true,
'filename' => $upload['file'],
'headers' => array('Authorization' => 'Basic ' . base64_encode( 'user:pass'))
);
$remote_response = wp_safe_remote_get( $url, $args_);
14348800cookie-checkWordPress XML Media Import mit HTTP-Authentifizierungyes