WordPress XML Media Import mit HTTP-Authentifizierung

Lesezeit: 1 Minute

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_);

1434880cookie-checkWordPress XML Media Import mit HTTP-Authentifizierung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy