Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menetapkan Ejen Pengguna Tersuai untuk Sambungan URL Java?

Bagaimanakah Saya Boleh Menetapkan Ejen Pengguna Tersuai untuk Sambungan URL Java?

Susan Sarandon
Susan Sarandonasal
2024-11-29 15:07:14860semak imbas

How Can I Set a Custom User Agent for Java URLConnections?

Menyesuaikan Ejen Pengguna untuk Java URLConnections

Apabila membuat sambungan ke halaman web menggunakan URLConnection Java, anda mungkin ingin menetapkan pengguna tersuai ejen. Ini biasanya digunakan untuk meniru gelagat pelayar web tertentu atau untuk mengenal pasti aplikasi anda. Walau bagaimanapun, percubaan untuk menetapkan ejen pengguna bukan lalai selalunya menyebabkan nilai lalai dilampirkan.

Penyelesaian:

Dalam versi Java yang lebih awal, menetapkan pengguna tersuai ejen melalui setRequestProperty("User-Agent", "custom_agent") menambahkan "Java/xx" ke penghujung. Isu ini telah diselesaikan dalam Java 1.6.30 dan lebih baharu.

Contoh:

import java.net.URL;
import java.net.URLConnection;

public class CustomUserAgent {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://example.com");
        URLConnection connection = url.openConnection();
        connection.setRequestProperty("User-Agent", "Mozilla/5.0");
        System.out.println(connection.getRequestProperty("User-Agent"));
    }
}

Dalam Java 1.6.30 atau lebih baharu, kod ini akan mengeluarkan "Mozilla /5.0" tanpa tambahan "Java/xx".

Netcat Pengesahan:

Untuk mengesahkan bahawa ejen pengguna tersuai sedang digunakan, anda boleh mendengar pada port menggunakan netcat:

$ nc -l -p 8080

Apabila kod di atas dilaksanakan, anda seharusnya melihat ejen pengguna tersuai dalam pengepala HTTP yang diterima oleh netcat.

Alternatif Penyelesaian:

Jika anda masih menghadapi masalah dengan menambahkan "Java/xx" dalam versi Java yang lebih lama, anda boleh cuba menggunakan perpustakaan HTTP pihak ketiga yang membolehkan anda mengawal sepenuhnya pengepala Ejen Pengguna .

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan Ejen Pengguna Tersuai untuk Sambungan URL Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn