ฉันจะขอให้เว็บเซิร์ฟเวอร์แสดงหน้าเว็บที่เป็นมิตรกับมือถือของพวกเขาด้วย eww ได้อย่างไร


11

ฉันใช้ewwเมื่อเร็ว ๆ นี้เพื่อเรียกดูเว็บเพื่อค้นหาเอกสารและสิ่งต่าง ๆ เช่นนั้น ฉันไม่ชอบที่ewwได้รับหน้าเว็บเดียวกับที่เป็น Firefox หรือ Google Chrome แต่ก็ไม่สามารถแสดงหน้าเว็บได้เหมือนที่เว็บเบราว์เซอร์ทำ จากนั้นสิ่งที่ฉันต้องการบรรลุคือewwบอกเว็บไซต์ว่ามีการเยี่ยมชมที่ส่งหน้าเว็บที่เป็นมิตรกับมือถือดังนั้นฉันจะมีเลย์เอาต์ที่เรียบง่ายขึ้นeww(หรืออย่างน้อยก็เป็นสมมติฐานของฉัน)


2
ไม่เคยใช้ eww แต่เคล็ดลับอาจเป็นการปลอม User-Agent ของคุณ ส่วนใหญ่เวลาที่เว็บเซิร์ฟเวอร์ตรวจสอบค่านั้นก่อนที่จะเปลี่ยนเส้นทางคุณไปยังเว็บไซต์เวอร์ชันมือถือ
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ก่อนที่จะเปลี่ยน user-agent เปลี่ยนมันไม่มีเงื่อนไขอาจทำลายแพคเกจอื่น ๆ ขึ้นอยู่กับห้องสมุด URL
อิคบาลซารี

แล้วemacs-w3mไงล่ะ วิธีรับรุ่นมือถือ อย่างที่ฉันรู้วันนี้เราใช้การออกแบบที่ตอบสนองได้จริงดังนั้นประเด็นก็คือขนาดหน้าจอปลอมแทนที่จะเป็นสตริงตัวแทน
เฉินถัง

การเปลี่ยน user-agent เป็นสิ่งที่จำเป็นเพราะเว็บเซิร์ฟเวอร์บางแห่งจะให้บริการหน้าที่ขาด Javascript ซึ่งเป็นสิ่งที่ไม่ได้รับการประเมินโดย eww ต่อไป ...
shackra

1
@IqbalAnsari: น่าเสียดายที่การewwโทรurl-http-user-agent-stringด้วยบัฟเฟอร์ปัจจุบันfundamental-modeเป็น (บัฟเฟอร์ที่ส่งคืนโดยprocess-buffer) ดังนั้นสิ่งนี้จะไม่ทำงาน ผมเห็นว่ามันจะดีกว่าที่จะตั้งค่าสตริงตัวแทนผู้ใช้สำหรับewwเพียงแต่ผมไม่ทราบว่าวิธีการที่จะบรรลุเป้าหมายนี้
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

เปิดตัวเมื่อวันที่ 5 พฤศจิกายน 2014
tmalsburg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.