
Ubuntu日本語フォーラム
ログインしていません。
==サーバ側==
Ubuntu 16.04
Apache/2.4.18
PHP 7.0.22-0
Wordpress 4.9.6
==クライアント側==
Python 3.5.2
上記環境でPythonでWordpressのxmlrpcを使っています。
他のサーバで運用実績がある処理を上記サーバに適用したところ、Client('https://example.com/xmlrpc.php', WpUserName, WpUserPass)の内部で「xml.parsers.expat.ExpatError: XML or text declaration not at start of entity: line 3, column 0」のエラーになりました。
そこでサーバーからレスポンスで送られるXMLを調べたところ、運用実績があるサーバでは「<?xml version="1.0" encoding="UTF-8"?>~~~」で始まるXMLが返ってきます。
しかし上記のサーバでは「(改行)(改行)<?xml version="1.0" encoding="UTF-8"?>」と先頭に改行が2つついています。
XMLパーサーがこの改行を見てエラーにしているようです。
試しにデバッガ上で先頭の改行を削除してプログラムを流したところ、正常に動作しました。
サーバー側xmlrpc.phpは運用実績があるサーバーと同じものです。
【やりたい事】
サーバー側の設定で先頭の改行を送らないようにしたいです。
しかし何を確認すれば良いか見当がつかない状態です。
(サーバー側xmlrpc.phpでは改行を送るような処理は見当たりませんでした)
クライアント側で改行を削除すれば早いと思うのですが、諸事情により修正出来ません。
お知恵をいただけると幸いです。
よろしくお願いいたします。
オフライン