Postant des commentaires à un wordpress-blog dans Android
-
24-09-2019 - |
Question
Je travaille sur un module qui permet aux utilisateurs de poster des commentaires sur un blog publié sur Wordpress. Je regardais la source HTML pour Post-commentaires-formulaire affiché au bas d'une entrée de blog (Laisser une section de réponse). En utilisant cela comme une référence, je l'ai traduit à Java en utilisant DefaultHTTPClient
et BasicNameValuePairs
et mon code ressemble à:
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://xycabz.wordpress.com/wp-comments-post.php");
httppost.setHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("author","abc"));
nvps.add(new BasicNameValuePair("email","abz@xyc.com"));
nvps.add(new BasicNameValuePair("url",""));
nvps.add(new BasicNameValuePair("comment","entiendamonos?"));
nvps.add(new BasicNameValuePair("comment_post_ID","123"));
//this was a hidden field and always set to 0
nvps.add(new BasicNameValuePair("comment_parent","0"));
try {
httppost.setEntity(new UrlEncodedFormEntity(nvps));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
BasicResponseHandler handler = new BasicResponseHandler();
try {
Log.e("OUTPUT",httpclient.execute(httppost,handler));
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Je reçois HTTP 302 Found
(Rediriger à l'emplacement temporaire) des exceptions dans les journaux avec ce code, que je ne pas tenir compte. (Remarque: En règle générale, lorsque vous postez un commentaire (sur la page web) que vous revenez à la page de blog qui fait appel à tous les commentaires L'URL que je reçois dans les réoriente est le même.) Même après avoir ignoré cette redirection, je peux poster des commentaires sur mon blog personnel en utilisant ce code, mais pas sur le blog réel (production).
Questions:
1. Serait-ce un des paramètres post-un commentaire problème (peut-être quelque chose que le propriétaire du blog d'origine aurait pu mettre)?
2. Comment devrait HTTPClient gérer 302 code d'état? Finalement, je viens d'informer l'utilisateur du succès et l'échec et ne pas le prendre en fait à la page des commentaires.
La solution
Vous pouvez vérifier gravatar, Akismet ou d'autres plugins liés à la création de commentaire pour les questions u. Essayez de vérifier la sortie en utilisant l'affiche et LiveHTTP-têtes des extensions dans Firefox pour le débogage du site de production
Autres conseils
En supposant wp-comments-Post.php existent, le site de production doit être bloquer l'accès direct à wp-comments-post.php soit par la vérification des HTTP_REFERER et / ou HTTP_USER_AGENT. Vérifiez le .htaccess pour le site de production.