سؤال

أعمل على وحدة نمطية تتيح للمستخدمين نشر تعليقات على مدونة تم نشرها على WordPress. نظرت إلى مصدر HTML لشكل ما بعد الرصاص المعروض في أسفل إدخال المدونة (اترك قسم الرد). باستخدام ذلك كمرجع ، قمت بترجمته إلى Java باستخدام DefaultHTTPClient و BasicNameValuePairs ويبدو أن الكود الخاص بي:

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();
}

انا حصلت HTTP 302 Found (إعادة توجيه إلى موقع مؤقت) استثناءات في السجلات باستخدام هذا الرمز ، والتي أتجاهلها. (ملاحظة: عادة ، عندما تنشر تعليقًا (على صفحة الويب) ، يتم إرجاعك إلى صفحة المدونة التي تعزز جميع التعليقات. عنوان URL الذي أحصل عليه في إعادة التوجيه هو نفسه) حتى بعد تجاهل هذا إعادة التوجيه ، يمكنني ذلك ، يمكنني ذلك انشر تعليقات على مدونتي الشخصية باستخدام هذا الرمز ولكن ليس على المدونة الفعلية (الإنتاج).

أسئلة:
1. هل يمكن أن تكون هذه مشكلة في إعدادات ما بعد A-Comment (ربما شيء قد يكون مالك المدونة الأصلي قد تم تعيينه)؟
2. كيف ينبغي أن يتعامل HTTPClient مع رمز الحالة 302؟ في النهاية ، يتعين علي فقط إخطار المستخدم بالنجاح والفشل وعدم نقله إلى صفحة التعليقات.

هل كانت مفيدة؟

المحلول

يمكنك التحقق من وجود Gravatar أو Akismet أو بعض الإضافات الأخرى المتعلقة بالتعليقات التي تنشئ مشكلات لـ U. حاول التحقق من الإخراج باستخدام ملحقات الملصقات و LiveHTTP في Firefox لتصحيح الأخطاء على موقع الإنتاج على الويب

نصائح أخرى

على افتراض وجود wp-comments.php ، يجب أن يقوم موقع الإنتاج بحظر الوصول المباشر إلى wp-comments-post.php إما عن طريق التحقق من http_referer و/أو http_user_agent. تحقق من .htaccess لموقع الإنتاج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top