B
Beto87
Beta
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigos de Forobeta en esta ocasión les enseñare a publicar un nuevo mensaje en nuestro wordpress utilizando Java y Redstone XML-RPC, ademas de utilizar XML-RPC WordPress API. bueno sin mas comenzamos con este pequeño tutorial.
Elementos a utilizar
Paso 1: Iniciamos Netbeans y creamos un proyecto (en mi caso lo llame "WpTest").
Paso 2: Importamos nuestra libreria previamente descargada (debemos importar los dos jar que se encuentran dentro del zip).
Paso 3: Importamos las clases a utilizar.
Quedando de la siguiente manera.
Paso 4: Ahora vamos a crear tres variables de tipo string las cuales utilizaremos para el usuario, contraseña y el url del sitio a donde se publicara el mensaje.
Paso 5: Pues ahora vamos a comenzar por crear un try catch el cual nos servirá para cachar los errores en caso de que se presenten al compilar el proyecto, después vamos a crear una nueva instancia de XmlRpcClient al cual le colocaremos los siguientes parámetros:
Quedando de esta manera
Paso 6: Ahora colocaremos los datos que queremos enviar en nuestro mensaje y para ello utilizaremos un HashMap ya que necesitamos dar un identificador a los datos para que estos queden en el espacio que nosotros deseamos. Quedando de esta manera.
Mas informacion sobre los identificadores usados en este ejemplo
Paso 7: Ahora solo nos queda hacer una ejecutar la nueva instancia del cliente que creamos previamente y esto lo haremos de la siguiente manera.
Puedes observar que lo llamamos en modo de String, esto con el fin de obtener el id del mensaje creado ahora nuestro codigo se debe ver asi.
Paso 8: ahora vamos crear un multicatch para especificar que tipo de excepciones queremos cachar en caso de error.
Especificando las Excepciones a cachar
Paso 9: Ahora para recibir el id del post en forma de url (la url que se obtiene es la versión por default) vamos a utilizar una función de java llamada replace la cual nos permite reemplazar cierto texto por un texto de nuestra elección. El comando utilizado sera:
Aqui estamos reemplazando "xmlrpc.php" por el "?p="+resultado, lo que es igual a obtener el url corto de las entradas en wordpress(url por default) el codigo resultante debe ser como este.
Paso 10: Bueno pues ahora vamos a compilar nuestro proyecto y si todo ha ido bien deberíamos obtener un resultado como este en consola.
Puedes descargar el codigo fuente desde aqui
Pues esto es todo y recuerda si te sirvió no olvides agradecer y si se puede un me gustas
Pd. Cualquier duda dejala en el hilo ya que asi podemos ayudar a mas de uno con las dudas que se tengan
Resultado final del Bot
Elementos a utilizar
- Netbeans IDE
- Java (No hace falta mencionarlo)
- Librería Redstone XML-RPC Library 1.1.1
- Xampp (si tienes un wordpress donde practicar no es necesario instalar esto)
- Modulo Wordpress (si tienes un wordpress donde practicar no es necesario instalar esto)
Paso 1: Iniciamos Netbeans y creamos un proyecto (en mi caso lo llame "WpTest").

Paso 2: Importamos nuestra libreria previamente descargada (debemos importar los dos jar que se encuentran dentro del zip).

Paso 3: Importamos las clases a utilizar.
- import java.net.MalformedURLException;
- import java.util.HashMap;
- import redstone.xmlrpc.XmlRpcClient;
- import redstone.xmlrpc.XmlRpcException;
- import redstone.xmlrpc.XmlRpcFault;
Quedando de la siguiente manera.

Paso 4: Ahora vamos a crear tres variables de tipo string las cuales utilizaremos para el usuario, contraseña y el url del sitio a donde se publicara el mensaje.

Paso 5: Pues ahora vamos a comenzar por crear un try catch el cual nos servirá para cachar los errores en caso de que se presenten al compilar el proyecto, después vamos a crear una nueva instancia de XmlRpcClient al cual le colocaremos los siguientes parámetros:
- String que sera igual a la variable urlSitio que declaramos previamente
- boolean = true
Quedando de esta manera

Paso 6: Ahora colocaremos los datos que queremos enviar en nuestro mensaje y para ello utilizaremos un HashMap ya que necesitamos dar un identificador a los datos para que estos queden en el espacio que nosotros deseamos. Quedando de esta manera.

Mas informacion sobre los identificadores usados en este ejemplo
Paso 7: Ahora solo nos queda hacer una ejecutar la nueva instancia del cliente que creamos previamente y esto lo haremos de la siguiente manera.
Insertar CODE, HTML o PHP:
String resultado = (String) client.invoke("metaWeblog.newPost", new Object[]{1, usuario, contrasenia, hmContent, true});

Paso 8: ahora vamos crear un multicatch para especificar que tipo de excepciones queremos cachar en caso de error.
Especificando las Excepciones a cachar
- MalformedURLException
- XmlRpcException
- XmlRpcFault

Paso 9: Ahora para recibir el id del post en forma de url (la url que se obtiene es la versión por default) vamos a utilizar una función de java llamada replace la cual nos permite reemplazar cierto texto por un texto de nuestra elección. El comando utilizado sera:
Insertar CODE, HTML o PHP:
System.out.println("Url corta del Mensaje: " + urlSitio.replace("xmlrpc.php", "?p="+resultado));

Paso 10: Bueno pues ahora vamos a compilar nuestro proyecto y si todo ha ido bien deberíamos obtener un resultado como este en consola.

Puedes descargar el codigo fuente desde aqui
Pues esto es todo y recuerda si te sirvió no olvides agradecer y si se puede un me gustas
Pd. Cualquier duda dejala en el hilo ya que asi podemos ayudar a mas de uno con las dudas que se tengan
Resultado final del Bot

Última edición: