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 중국어 웹사이트의 기타 관련 기사를 참조하세요!