3 votes

Connectez-vous à WordPress en utilisant RCurl

Je voudrais me connecter à un site Web WordPress en utilisant le paquet RCurl de R afin d'installer un plugin WordPress (probablement utiliser postForm sur certaines pages d'options dans WordPress). Comme le site web est protégé par un mot de passe, je vous demande de m'aider à authentifier ma session R.

J'ai trouvé les trois liens suivants pertinents, mais je ne sais pas comment les utiliser pour WordPress :

Des suggestions ?

Merci.

5voto

TARehman Points 1775

J'ai traité un cas similaire en utilisant REDCap - cela pourrait vous être utile aussi. Ce court exemple montre comment j'ai utilisé l'API REDCap pour récupérer des données.

library(RCurl)
out <- postForm("https://redcap.url.org/redcap/api/",
                 token="INSERT TOKEN HERE",
                 content="record",
                 type="flat",
                 format="csv",
                 .opts=curlOptions(ssl.verifypeer=FALSE))
write(out,file="C:/wherever/out.csv")

Notez que cela ne permet pas de vérifier correctement le SSL - j'ai amélioré cela dans les versions ultérieures. L'explication plus longue se trouve sur mon profil Google+ : https://plus.google.com/106259574970597769926/posts/U3fVCTV4EdQ

Il semble que vous puissiez utiliser cURL pour vous connecter à Wordpress en passant les bons paramètres, comme décrit ici : http://w4dev.com/wp/login-into-wp-using-curl/

Il semble que l'URL en question soit http://localhost/wordpress/wp-login.php et les paramètres qui comptent peuvent être trouvés à la page ci-dessus. En gros, vous devez définir l'utilisateur, son mot de passe et l'endroit où vous voulez le rediriger sur le site par la suite. Voici comment les paramètres sont décrits dans cet exemple PHP

"log=". $login_user .
"&pwd=" . $login_pass .
"&wp-submit=Log%20In&redirect_to=" . $visit_url;

En gros, il s'agit de construire une chaîne de caractères à poster, qui ressemble à quelque chose comme ça :

http://yourwordpress.fake/wp-login.php?log=trehman&pwd=abc123456&wp-submit=Log%20In&redirect_to=http://yourwordpress.fake/pageyouwant

Vous pouvez donc modifier le postForm ci-dessus pour qu'il contienne une URL et des paramètres différents, ce qui devrait vous permettre de vous authentifier et de vous rediriger vers la page souhaitée. Je ne suis pas un expert, mais je suis presque sûr que vous pouvez rediriger vers une autre URL longue avec des paramètres, ce qui vous permettrait de "soumettre" un formulaire ou quelque chose de similaire.

3voto

Karsten W. Points 5450

Vous pouvez utiliser le XMLRPC paquet pour accéder à wordpress

library(XMLRPC)
service <- "http://myblog.wordpress.com/xmlrpc.php"
xml.rpc(service, "wp.getUsersBlogs", "my@email", "secretpassword", .convert = TRUE)

Les fonctions supportées par cette API sont documentées aquí . Utilisation de wp.uploadFile il pourrait être possible de charger des photos sur le serveur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X