お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2018-06-21 16:16:57

guny
メンバ
登録日: 2010-05-29

xmlの先頭に出力される余分な改行を削除したいです

==サーバ側==
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では改行を送るような処理は見当たりませんでした)

クライアント側で改行を削除すれば早いと思うのですが、諸事情により修正出来ません。
お知恵をいただけると幸いです。
よろしくお願いいたします。

オフライン

 

Board footer

Powered by FluxBB