> Java > java지도 시간 > Java URLConnections용 ​​사용자 정의 사용자 에이전트를 어떻게 설정할 수 있습니까?

Java URLConnections용 ​​사용자 정의 사용자 에이전트를 어떻게 설정할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-11-29 15:07:14
원래의
770명이 탐색했습니다.

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

Java URLConnections용 ​​사용자 에이전트 사용자 정의

Java의 URLConnection을 사용하여 웹페이지에 연결할 때 사용자 정의 사용자를 설정할 수 있습니다. 대리인. 이는 일반적으로 특정 웹 브라우저의 동작을 모방하거나 애플리케이션을 식별하는 데 사용됩니다. 그러나 기본이 아닌 사용자 에이전트를 설정하려고 하면 기본값이 추가되는 경우가 많습니다.

해결책:

이전 버전의 Java에서는 사용자 정의 사용자 설정 setRequestProperty("User-Agent", "custom_agent")를 통해 에이전트는 끝에 "Java/xx"를 추가했습니다. 이 문제는 Java 1.6.30 이상에서 해결되었습니다.

예:

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"));
    }
}
로그인 후 복사

Java 1.6.30 이상에서 이 코드는 "Mozilla"를 출력합니다. /5.0" 추가 없음 "Java/xx".

Netcat 확인:

사용자 지정 사용자 에이전트가 사용되고 있는지 확인하려면 netcat을 사용하여 포트에서 수신 대기할 수 있습니다.

$ nc -l -p 8080
로그인 후 복사

위 코드가 실행되면 에서 수신한 HTTP 헤더에 사용자 지정 사용자 에이전트가 표시됩니다. netcat.

대체 솔루션:

이전 Java 버전에서 "Java/xx"를 추가하는 데 여전히 문제가 발생하는 경우 타사 HTTP를 사용해 볼 수 있습니다. User-Agent 헤더를 완전히 제어할 수 있는 라이브러리입니다.

위 내용은 Java URLConnections용 ​​사용자 정의 사용자 에이전트를 어떻게 설정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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