software1987 Tech-Blog

4Jun/110

InterNetworX XMLRPC API für Ruby

Der Domain Registrar InterNetworX (kurz: inwx) stellt eine XMLRPC API zur Verfügung mit der man automatisiert Domains/Handles anlegen, editieren oder löschen kann. Zudem kann man noch Einträge im Nameserver bearbeiten.

INWX stellt für Entwickler eine API-Beschreibung, sowie Beispiel Implementierungen für PHP und Java zur Verfügung (link). Der Entwickler Philipp Klaus hat in seinem Blog zusätzlich eine Python-Portierung der API-Implementierung vorgestellt.

Im letzten Jahr habe ich für ein Ruby on Rails Projekt eine Ruby Implementierung geschrieben die ich nun hier vorstellen möchte.

Voraussetzungen

  • Ruby 1.9.x (Abhängigkeit zu XMLRPC/Client)

Installation

Der Quellcode wird auf Github gehostet. Daher gibt es zwei Wege um an den Quellcode zu gelangen:

via git:

git clone git://github.com/halfdan/ruby-inwx-xmlrpc.git

via direktem Download:

.tar.gz, .zip

Benutzung

Die INWX-API stellt eine Reihe an Objekten zur Verfügung auf denen sich Methoden aufrufen lassen. Im folgenden Beispiel wird auf dem Objekt "domain" die Methode "info" mit einem Parameter ":domain" aufgerufen, als Rückgabe liefert die API entsprechend Informationen über die angegebene Domain.

require "INWX/DomainRobot"
require "YAML"

addr = "api.ote.domrobot.com"
# addr = "api.domrobot.com"
user = "your_username"
pass = "your_password"
lang = "en"

domainRobot = INWX::DomainRobot.new(addr, user, pass, lang, true)

object = "domain"
method = "info"

params = { :domain => "software1987.de" }

result = domainRobot.call(object, method, params)

puts YAML::dump(result)

Die Library lässt sich also sehr einfach verwenden. Hier noch einmal eine schrittweise Erklärung:

  1. Einbinden der Library:
    require "INWX/DomainRobot"
  2. Festlegen der Login-Daten und der Login-Addresse (hier: das OTE Testsystem)
  3. Instanziieren des DomainRobots (letzter Parameter gibt an ob eine sichere Verbindung verwendet werden soll):
    domainRobot = INWX::DomainRobot.new(addr,user,pass,lang,true)
  4. Festlegen des Objekts und der Methode (siehe xmlrpc.pdf im INWX Download) mit Parametern.
  5. Ausführen des XMLRPC-Requests:
    domainRobot.call(object, method, params)

Bei Fragen zur Bibliothek stehe ich gerne zur Verfügung!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

hat dir dieser Artikel gefallen?

Dann abonniere doch diesen Blog per RSS Feed!

Kommentare (0) Trackbacks (0)

Zu diesem Artikel wurden noch keine Kommentare geschrieben.


Leave a comment

Noch keine Trackbacks.