웹 서버에 eww를 사용하여“모바일 친화적”버전의 웹 페이지를 제공하도록 요청하려면 어떻게해야합니까?


11

eww최근에 문서 및 이와 유사한 것을 찾는 웹 탐색에 사용 하고 있습니다. ewwFirefox 또는 Chrome과 동일한 웹 페이지 를 수신하는 것이 마음에 들지 않습니다. 웹 브라우저는 웹 페이지를 렌더링 할 수 없습니다. 그런 다음 달성하고자 eww하는 것은 방문하는 웹 사이트에 모바일 친화적 버전의 웹 페이지 를 보내는 웹 사이트를 알리는 것이므로 레이아웃이 더 단순 해집니다 eww(적어도 내 가정입니다).


2
eww를 사용하지는 않았지만 트릭은 사용자 에이전트를 위조하는 것일 수 있습니다. 대부분의 경우 웹 서버는 사용자를 웹 사이트의 모바일 버전으로 리디렉션하기 전에 해당 값을 확인합니다.
Nsukami _

답변:


11

ewwurl라이브러리를 사용 하므로 문자열 url-http-user-agent-string을 위조하는 조언을 추가 할 수 있습니다 User-Agent.

(advice-add 'url-http-user-agent-string :around
            (lambda (ignored)
              "Pretend to be a mobile browser."
              (concat
               "User-Agent: "
               "Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30")))

에서 모바일 브라우저 User-Agent 문자열을 가져 왔습니다 www.useragentstring.com.

이 조언으로 나는 모바일 버전을 얻는다 google.com; 귀하의 마일리지가 다를 수 있습니다.

(을 사용하여 이것을 찾았습니다 M-x apropos RET user-agent RET.)


2
eww사용자 에이전트를 변경하기 전에 현재 주요 모드가 변경되지 않았는지 확인 하고 url 라이브러리에 따라 무조건 변경하면 다른 패키지 손상 될 수 있습니다.
Iqbal Ansari

무엇에 대해 emacs-w3m? 모바일 버전을 얻는 방법? 아시다시피 요즘 우리는 실제로 반응 형 디자인을 사용하므로 요점은 에이전트 문자열 대신 가짜 화면 크기입니다.
chen bin

일부 웹 서버는 자바 스크립트가없는 페이지를 제공하므로
eww에

1
@IqbalAnsari : 불행히도 현재 버퍼를 (에서 반환 한 버퍼)로 eww호출 하므로 작동하지 않습니다. 나는 사용자 에이전트 문자열을 설정하는 것이 훨씬 더 좋을 것이다 동의 에 대한 유일한 , 그러나 나는 이것을 달성하는 방법을 모르겠어요. url-http-user-agent-stringfundamental-modeprocess-buffereww
Constantine

1
@chenbin :을 설정해야합니다 w3m-user-agent. 한 가지 방법 은 Sacha Chua의이 게시물을 참조하십시오 .
Constantine

0

최신 버전의 Emacs에서는 간단하게 사용자 정의 변수를 사용할 수 있습니다 url-user-agent.

(setq url-user-agent "User-Agent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7\n")

죄송하지만 최근에
shackra

그것은 11 월 5 일 2014 년에 도입되었다
tmalsburg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.