Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Menetapkan Ejen Pengguna dengan betul dalam Java URLConnection?

Mary-Kate Olsen
Lepaskan: 2024-11-24 02:59:09
asal
697 orang telah melayarinya

How to Correctly Set the User-Agent in Java URLConnection?

Menetapkan Ejen Pengguna bagi Java URLConnection

Apabila cuba menghuraikan halaman web menggunakan Java dengan URLConnection dan menetapkan ejen pengguna kepada yang ditentukan nilai, "Java/1.5.0_19" tambahan boleh ditambahkan pada penghujung. Ini timbul disebabkan oleh pengehadan dalam versi Java yang lebih lama.

Penyelesaian (Java 1.6.30 dan Lebih Baru)

Dalam Java 1.6.30 dan lebih baharu, isu ini mempunyai telah diselesaikan. Menetapkan ejen pengguna menggunakan setRequestProperty("User-Agent", "Mozilla ...") kini berfungsi dengan betul tanpa menambahkan versi Java.

Pengesahan

Untuk mengesahkan ini, anda boleh mendengar pada port menggunakan netcat, yang memaparkan pengepala HTTP mentah permintaan masuk. Tanpa menetapkan ejen pengguna, pengepala akan menunjukkan:

GET /foobar HTTP/1.1
User-Agent: Java/1.6.0_30
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Salin selepas log masuk

Apabila menetapkan ejen pengguna, pengepala akan menunjukkan:

GET /foobar HTTP/1.1
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
Host: localhost:8080
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Salin selepas log masuk

Kod Contoh (Java 1.6. 30 )

Contoh kod berikut menunjukkan cara menetapkan pengguna dengan betul ejen:

import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;


public class TestUrlOpener {

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

}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Ejen Pengguna dengan betul dalam Java URLConnection?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan