Bagaimana saya bisa meminta server web untuk melayani versi "mobile friendly" dari halaman web mereka dengan eww?

11

Saya menggunakan ewwakhir-akhir ini untuk menjelajahi web mencari dokumentasi dan hal-hal seperti itu. Saya tidak suka yang ewwmenerima halaman web yang sama seperti Firefox atau Google Chrome, itu tidak dapat membuat halaman web seperti browser web itu. Lalu, apa yang ingin saya capai adalah memberi ewwtahu situs web yang dikunjungi yang mengirimkan versi ramah seluler dari halaman web mereka, dengan demikian, saya akan memiliki tata letak yang lebih sederhana yang dibuat oleh eww(atau setidaknya itu asumsi saya).

shackra
sumber
2
Tidak pernah menggunakan eww, tapi triknya bisa memalsukan User-Agent Anda. Seringkali server web memeriksa nilai itu sebelum mengarahkan Anda ke versi mobile situs web.
Nsukami _

Jawaban:

11

ewwmenggunakan urlperpustakaan, sehingga kami dapat menambahkan saran url-http-user-agent-stringuntuk memalsukan User-Agentstring:

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

Saya mengambil string User-Agent browser seluler www.useragentstring.com.

Dengan saran ini saya mendapatkan versi seluler google.com; jarak tempuh Anda dapat bervariasi.

(Saya menemukan ini dengan menggunakan M-x apropos RET user-agent RET.)

Constantine
sumber
2
Anda mungkin ingin memeriksa bahwa mode utama saat ini adalah ewwsebelum mengubah agen-pengguna mengubahnya tanpa syarat mungkin merusak paket-paket lain tergantung pada pustaka url
Iqbal Ansari
bagaimana emacs-w3m? bagaimana cara mendapatkan versi seluler? Seperti yang saya tahu, hari ini kita sebenarnya menggunakan desain responsif, jadi intinya ukuran layar palsu bukan string agen.
chen bin
mengganti agen-pengguna adalah sesuatu yang diperlukan karena beberapa server web akan melayani halaman yang kekurangan Javascript, sesuatu yang tidak dievaluasi oleh eww ...
shackra
1
@IqbalAnsari: Sayangnya ewwpanggilan url-http-user-agent-stringdengan buffer saat ini di fundamental-mode(buffer dikembalikan oleh process-buffer), jadi ini tidak bekerja. Saya setuju bahwa itu akan jauh lebih baik untuk mengatur string agen pengguna untuk ewwhanya , tapi saya tidak tahu bagaimana untuk mencapai hal ini.
Constantine
1
@chenbin: Anda harus mengatur w3m-user-agent. Lihat posting ini oleh Sacha Chua untuk satu cara melakukannya.
Constantine
0

Di versi terbaru Emacs, Anda cukup menggunakan variabel penyesuaian 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")
tmalsburg
sumber
Maaf, seberapa baru?
shackra
Itu diperkenalkan pada 5 November 2014.
tmalsburg