sourcecode

JQuery Ajax 요청:사용자-에이전트 변경

codebag 2023. 8. 21. 21:16
반응형

JQuery Ajax 요청:사용자-에이전트 변경

저는 JQuery를 사용하여 제 웹 서비스에 AJAX 요청을 발행하고 있습니다.설정 또는 수정이 필요합니다.User-AgentHTTP-AJAX-Request용 HTTP-Header, 가장 쉬운 방법은 무엇입니까?

일부 사용자가 제공한 힌트를 사용해 보았습니다.setRequestHeader설정 방법User-Agent하지만 이것은 효과가 없습니다.실제로 새로 생성된 다른 헤더에 대해 작동합니다(예:X-Test-Header하지만 그것은 작동하지 않습니다.User-Agent.

XMLHttpRequests에 대한 사용자 에이전트를 변경할 수 없습니다.이것이 Internet-Explor에 유효한지 확실하지 않지만 w3c는 다음과 같이 지정합니다.

요청 설정헤더() 메서드

[...]

설정된 요청이 있을 때헤더(헤더, 값) 메서드가 호출되면 사용자 에이전트가 다음 단계를 실행해야 합니다. [...]

헤더가 다음 헤더 중 하나와 대소문자를 구분하지 않는 일치인 경우 이 단계를 종료합니다.

[...]

  • 사용자 에이전트

jQuery를 사용하는 경우 agaxSetup에서 요청 헤더를 설정합니다.

$.ajaxSetup({
  beforeSend: function(request) {
    request.setRequestHeader("User-Agent","InsertUserAgentStringHere");
  }
});

음, 당신은 항상 jQuery를 사용하여 서버 쪽 페이지에 게시할 수 있으며, 그러면 다음으로 수정할 수 있습니다.User-Agent또한 jQuery에서 직접 액세스할 수 있는 페이지에 요청합니다.

이를 위한 방법은 의 네이티브 코드를 덮어쓰는 것입니다.__defineGetter__의 방법window.navigator물건.

다음을 확인하십시오.

window.navigator.__defineGetter__('userAgent', function () {
    return "___I'M A GHOST___";
});

달려.navigator.userAgent확인하기 전과 후의 콘솔에 있습니다.

Chrome에서 작동합니다.다른 브라우저는 확인하지 않았습니다.

자세한 내용은 여기에서 확인할 수 있습니다. https://www.codeproject.com/Tips/1036762/Mocking-userAgent-with-JavaScript

저는 다음과 같이 했습니다.나는 Ajax 요청을 포워더처럼 작동하는 별도의 php 스크립트로 보내면, 이 php 스크립트에서 당신은 원래 요청을 하고 당신이 원하는 대로 사용자 에이전트를 변경할 것입니다.

다음과 같이 file_get_dll에서 사용자 에이전트를 설정할 수 있습니다. https://gist.github.com/vyspiansky/82f4b1ef6fcff160047d

언급URL : https://stackoverflow.com/questions/5771878/jquery-ajax-request-change-user-agent

반응형