Як я можу попросити веб-сервер обслуговувати їх електронну версію веб-сторінок електронною поштою?


11

Я використовую ewwостаннім часом для перегляду Інтернету, шукаю документацію та подібні речі. Мені не подобається, що ewwотримує таку ж веб-сторінку Firefox або Google Chrome, вона не може відображати веб-сторінки, як це. Тоді, що я хочу досягти, - це ewwсказати веб-сайтам, що вони відвідують, які надсилають мобільну версію своїх веб-сторінок, таким чином, у мене буде більш простий макет, зроблений eww(або, принаймні, це моє припущення).


2
Ніколи не використовував eww, але хитрість може полягати в підробці вашого User-Agenta. Більшу частину часу веб-сервер перевіряє це значення, перш ніж перенаправити вас на мобільну версію веб-сайту.
Nsukami _

Відповіді:


11

ewwвикористовує urlбібліотеку, тому ми можемо додати поради, 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? як отримати мобільну версію? Як я знаю, в наші дні ми фактично використовуємо чуйний дизайн, тому справа в підробленому розмірі екрану замість рядка агента.
Чень Бін

зміна користувальницького агента щось необхідне, тому що деякі веб-сервери будуть обслуговувати сторінку з відсутністю Javascript, те, що так чи інакше не оцінюється eww ...
shackra

1
@IqbalAnsari: На жаль, ewwдзвінки url-http-user-agent-stringз поточним буфером в fundamental-mode(буфер повертається process-buffer), тому це не працює. Я погоджуюся, що було б набагато краще встановити рядок агента користувача лише для цьогоeww , але я не знаю, як цього досягти.
Костянтин

1
@chenbin: Вам потрібно встановити w3m-user-agent. Дивіться цей пост Саха Чуа про один із способів зробити це.
Костянтин

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")

Вибачте, як недавно?
шакра

Він був представлений 5 листопада 2014 р.
tmalsburg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.