XMLRPC::クライアント認証の方法

概要

認証が必要な XMLRPC リクエストを作成する必要がありますが、XMLRPC の認証側に関するドキュメントは限られています。これについて最善の方法は何でしょうか?現在、以下のコードを使用していますが、依然として認証エラーが発生します。クライアントを指定して、セカンダリ認証メソッドを呼び出す別の方法はありますか?

client = XMLRPC::Client.new(@xmlrpc_url, "/xmlrpc.php", "443", nil, nil, @username, @password, true, 900)

解決策

リモート Web サーバーがリソース /xmlrpc.php の HTTP 基本認証を受け入れていること、さらに @username@password を受け入れていることを再確認します。

ドキュメントによると、RPC client.call(“bwizzy”) の XMLRPC 呪文は、次のような Basic 認証を使用して何かを生成します。

POST /xmlrpc.php HTTP/1.1
User-Agent: XMLRPC::Client (Ruby 1.9.1)
Content-Type: text/xml; charset=utf-8
Content-Length: 88
Connection: keep-alive
Authorization: Basic c3RhY2s6b3ZlcmZsb3c=
Accept: */*
Host: localhost

<?xml version="1.0"><methodCall><methodName>bwizzy</methodName></params></methodCall>

(これらのヘッダーの順序について私に文句を言わないでください – それが私がネットワーク上で見たものです! :))

現在、XML-RPC 自体は認証を提供していないため、いくつかの一般的なオプションがあります。