Rumah >Java >javaTutorial >Bagaimana untuk Menetapkan Ejen Pengguna Tersuai untuk URLConnections di Java tanpa Pengecam Masa Jalan Java?

Bagaimana untuk Menetapkan Ejen Pengguna Tersuai untuk URLConnections di Java tanpa Pengecam Masa Jalan Java?

Susan Sarandon
Susan Sarandonasal
2024-11-17 13:12:02209semak imbas

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

Menyesuaikan Ejen Pengguna untuk URLConnections dalam Java

Apabila menggunakan URLConnection dalam Java untuk mendapatkan semula kandungan web, menetapkan ejen pengguna tersuai selalunya diperlukan untuk rangkak laman web yang tepat dan simulasi pengguna. Walau bagaimanapun, masa jalan Java lalai menambahkan pengecamnya sendiri pada rentetan ejen pengguna, yang mungkin tidak diingini dalam senario tertentu.

Pertanyaan

Seorang pembangun Java meminta bantuan dalam menetapkan ejen pengguna tanpa akhiran "Java/1.5.0_19" yang dilampirkan oleh masa jalan. Pengguna memberikan coretan kod yang menggambarkan cara mereka cuba menetapkan ejen pengguna menggunakan setRequestProperty().

Penyelesaian

Nasib baik, dalam Java 1.6.30 dan kemudian, menetapkan ejen pengguna melalui setRequestProperty("User-Agent", "") berfungsi dengan sempurna, tanpa sebarang maklumat runtime Java tambahan ditambahkan. Untuk menunjukkan ini, pembangun menggunakan netcat untuk mendengar permintaan HTTP yang masuk dan memerhatikan bahawa ejen pengguna tersuai berjaya dihantar tanpa akhiran Java.

Pelaksanaan Penuh

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

}

Dengan menggunakan pendekatan ini, pembangun boleh menetapkan ejen pengguna dengan berkesan untuk URLConnections mereka di Java tanpa sebarang penambahan khusus Java yang tidak diingini, memastikan gelagat yang diingini untuk mengikis web mereka atau tugas komunikasi lain.

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Ejen Pengguna Tersuai untuk URLConnections di Java tanpa Pengecam Masa Jalan 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