> Java > java지도 시간 > Java URLConnection의 사용자 에이전트를 설정하는 방법은 무엇입니까?

Java URLConnection의 사용자 에이전트를 설정하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-06 07:21:12
원래의
482명이 탐색했습니다.

How to Set the User Agent of a Java URLConnection?

Java URLConnection의 사용자 에이전트 설정

URLConnection을 활용하여 Java에서 웹페이지를 구문 분석하는 경우 사용자 에이전트를 올바르게 설정하는 것이 중요합니다. 그러나 기본적으로 지정된 사용자 에이전트에는 "Java/1.5.0_19"가 추가됩니다. 이는 특정 브라우저를 숨기거나 가장하려고 할 때 문제가 될 수 있습니다.

설명 및 해결

Java 버전 1.6.30 이상에서는 사용자 에이전트 문제 추가 기능은 더 이상 존재하지 않으며 setRequestProperty("User-Agent", "Mozilla ...")는 의도한 대로 작동합니다. 이를 확인하기 위해 HTTP 헤더를 캡처하도록 포트 리스너를 설정할 수 있습니다.

setRequestProperty를 활용하지 않고 요청이 전송되면 HTTP 헤더에 다음이 포함됩니다.

User-Agent: Java/1.6.0_30
로그인 후 복사

그러나 setRequestProperty는 특정 사용자 에이전트를 설정하는 데 사용되며 HTTP 헤더는 지정된 내용을 반영합니다. 값:

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
로그인 후 복사

예제 코드

다음 코드는 사용자 에이전트를 설정하고 웹페이지의 콘텐츠 유형을 검색하는 방법에 대한 완전한 예를 제공합니다.

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

}
로그인 후 복사

위 내용은 Java URLConnection의 사용자 에이전트를 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿