"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تعيين وكيل مستخدم مخصص لاتصالات URL في Java بدون معرف Java Runtime؟

كيفية تعيين وكيل مستخدم مخصص لاتصالات URL في Java بدون معرف Java Runtime؟

تم النشر بتاريخ 2024-12-22
تصفح:782

How to Set a Custom User Agent for URLConnections in Java without the Java Runtime Identifier?

تخصيص وكيل المستخدم لاتصالات URL في Java

عند استخدام URLConnection في Java لاسترداد محتوى الويب، غالبًا ما يكون تعيين وكيل مستخدم مخصص ضروريًا لـ الزحف الدقيق لموقع الويب ومحاكاة المستخدم. ومع ذلك، يقوم وقت تشغيل Java الافتراضي بإلحاق المعرف الخاص به بسلسلة وكيل المستخدم، وهو ما قد لا يكون مرغوبًا فيه في سيناريوهات معينة.

الاستعلام

طلب أحد مطوري Java المساعدة في تعيين وكيل مستخدم بدون اللاحقة "Java/1.5.0_19" الملحقة بوقت التشغيل. قدم المستخدم مقتطف رمز يوضح كيفية محاولته تعيين وكيل المستخدم باستخدام setRequestProperty().

الحل

لحسن الحظ، في Java 1.6.30 والإصدارات الأحدث، تعيين وكيل المستخدم من خلال setRequestProperty("User-Agent", "") يعمل بشكل لا تشوبه شائبة، دون إضافة أي معلومات إضافية عن وقت تشغيل Java. لتوضيح ذلك، استخدم المطور netcat للاستماع لطلبات HTTP الواردة ولاحظ أنه تم إرسال وكيل المستخدم المخصص بنجاح بدون لاحقة Java.

التنفيذ الكامل]

استيراد java.io.IOException; استيراد java.net.URL؛ import java.net.URLConnection; الطبقة العامة CustomUserAgent { public static void main(String[] args) يلقي IOException { URL url = new URL("http://localhost:8080/foobar"); URLConnection hc = url.openConnection(); hc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2"); System.out.println(hc.getContentType()); }
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;

public class CustomUserAgent {

    public static void main(String[] args) throws IOException {
        URL url = new URL("http://localhost:8080/foobar");
        URLConnection hc = url.openConnection();
        hc.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

        System.out.println(hc.getContentType());
    }

}
من خلال استخدام هذا الأسلوب، يمكن للمطورين تعيين وكلاء المستخدم بشكل فعال لاتصالات URL الخاصة بهم في Java دون أي إضافات غير مرغوب فيها خاصة بـ Java، مما يضمن السلوك المطلوب لتجميع الويب أو مهام الاتصال الأخرى.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3