문제점을 발견했습니다. 내가 연결하는 장치를 식별하기 위해 사용자 에이전트 헤더를 사용하는 서버가 있습니다. 하지만 HttpURLConnection을 사용하여 서버에 연결할 때 사용자 에이전트 헤더가 없지만 브라우저에 연결하면 올바른 사용자 에이전트가 전송됩니다.안드로이드의 HttpURLConnection이 올바른 사용자 에이전트 헤더를 보내지 않습니다.
테스트를 위해 요청시 발견 된 헤더로 응답하는 echo 서버를 사용하고 있습니다.
예 : User-Agent : Mozilla/5.0 (예 : Android 1.5, ko-fr, HTC Hero Build/CUPCAKE) AppleWebKit/528.5 이상 (Gecko와 같은 KHTML) 버전/3.1.2 모바일 사파리/525.20.1 Up.Link/6.3.1.20.06.3.1.20.0. 내가 URLConnection의와 코드로 연결할 때
는하지만 난 얻을 :
사용자 에이전트 : 사용할 수 없습니다.
우리는 내가 다른 행동을한다는 것을 알고 있습니까? 브라우저와 동일한 방법으로 연결할 수 있습니까?
편집 : 무엇 내가 정말 필요로하는 사용자 에이전트 헤더뿐만 아니라이
, 나는 또한 어떤 특별한 헤더 (실제로는 X-업 subno)가 필요합니다. 이 머리글은 운영자의 APN에 의해 추가되지만 헤더에 요청이 추가되지 않는다는 코드로 연결될 때도 있습니다. 브라우저에서
: browser http://bannergame.googlecode.com/files/device_browser.png
코드에서 : code http://bannergame.googlecode.com/files/device_code.png
감사합니다, 모든 클라이언트가 보낸 사용자 에이전트 헤더 해야하는
과 같은 좀 더 많은 정보를 보내면 좋을 것입니다. 대부분의 HTTP 연결 라이브러리가 사용자 에이전트를 직접 보내지는 않지만, 자신의 의미있는 것을 추가 할 수 있도록 요청에 헤더를 추가하는 방법을 제공하십시오. –
사용자 에이전트를 스니핑하는 것은 실제로 좋지 않습니다. 알 수없는 거짓 에이전트와 관련된 다양한 문제가 있습니다. 소프트웨어 차단 , 프록시 및 캐시가 있습니다. 특별한 안드로이드 지향 페이지를 원한다는 신호를 보내려면 다른 방법을 찾아야합니다. – bobince