Опять грабельки, теперь в DW

Предыдущая пара постов в DW и ЖЖ не имеет ссылок на мой собственный блог, потому что он не смог кросспостить их в DW, и пришлось скопировать руками.

В вордпрессе стала вылезать идиотская ошибка: Something went wrong - -32300 : transport error - HTTP status code was not 200
Видать, что-то поменялось в DW’шном API, но, блин, хотя бы полученный по HTTP код ответа можно было показать, а не просто рассказывать, что он не 200 :(

Похоже, пора переходить на свой блоговый движок. Хотя я его ещё не полностью дописал, но кросспостинг там уже вполне работает, и ошибку там удалось увидеть гораздо яснее: код 307 – пересылка с http://www.dreamwidth.org/interface/xmlrpc на https: . Поменял в настройках DW’шного урла http на https, всё заработало.

dmarck, похоже, ты прав, нынче все переезжают с http на https. Но в том же ЖЖ это только на веб-сайтах приделали, а API там продолжает работать по http.

Попробовал в вордпрессовском плагине livejournal-crossposter-remake так же поменять урл, но нифига не помогло: Something went wrong - -32300 : transport error: http_request_failed Couldn't resolve host 'https'
Пришлось копаться в коде, оказалось, что там используется IXR_Client из этого самого вордпресса, который https не умеет в принципе. Вот щас поменял IXR_Client на WP_HTTP_IXR_CLIENT, посмотрю, поможет ли.

Но нафиг нужен такой похапешный софт, который не понимает явно указанный в урле протокол.. Выходит, это тот самый случай, когда проще самому написать, чем копаться в чужом коде. Только там ещё некоторые другие вещи дописать надо.

А в этом livejournal-crossposter-remake ещё и коты нашлись..

    foreach(wp_get_post_cats(1, $post_id) as $cat) {
        if(in_array($cat, $options['copy_cats'])) {
            $do_crosspost = 1;
            break; // decision made and cannot be altered, fly on
        }
    }

You can read this post at LiveJournal.
This entry was posted in Uncategorized and tagged , , , , , , . Bookmark the permalink.

Leave a Reply