เปลี่ยน User Agent ด้วย curl เพื่อรับ URL Source Code เป็น OS & Browser ที่แตกต่างกัน

การใช้ Curl เราสามารถเรียกดูซอร์สโค้ด HTML และ CSS ของ URL ที่ระบุและแม้แต่ข้อมูลส่วนหัวของ HTTP แต่บางไซต์จะให้เนื้อหาหรือ HTML ที่แตกต่างไปจาก OS และเบราว์เซอร์ที่ต่างกันโดยทำโดยการตรวจหาตัวแทนผู้ใช้ของตน ด้วยเหตุนี้เราจึงสามารถปลอมแปลงเอเจนต์ผู้ใช้ของเบราว์เซอร์และระบบปฏิบัติการเวอร์ชันอื่นได้ซึ่งจะช่วยให้นักพัฒนาเว็บสามารถเข้าถึงรูปแบบต่างๆของซอร์สโค้ดได้อย่างรวดเร็ว สำหรับจุดประสงค์ที่นี่เราจะทำสิ่งนี้จากบรรทัดคำสั่งโดยใช้ curl

ไวยากรณ์พื้นฐานสำหรับ spoofing user agent ที่มีคำสั่ง curl มีดังนี้:

curl -A "UserAgentString" http://url.com

แน่นอนคุณจะเปลี่ยน UserAgentString ด้วยสายอักขระตัวแทนผู้ใช้ที่ถูกต้องซึ่งตรงกับเบราว์เซอร์ที่คุณต้องการเลียนแบบ

ลองดูตัวอย่างกับสายอักขระตัวแทนผู้ใช้หลายราย

หนึ่งในสถานการณ์ที่พบบ่อยที่สุดของแหล่งที่มา HTML และ CSS ที่แตกต่างกันคือสำหรับเว็บไซต์ที่มีเวอร์ชันโทรศัพท์มือถือที่ปล้นลงคุณสามารถเรียกรหัสแหล่งที่มาเฉพาะของ iPhone ได้ด้วย:

curl -A "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5" http://www.apple.com

บางเว็บไซต์ทำเช่นนี้กับเบราว์เซอร์อื่นด้วย นี่เป็น Chrome 12 ใน Mac OS X 10.6.8:

curl -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" http://microsoft.com

นี่เป็นอีกหนึ่งที่หลอกให้ Mac App Store และ Mac OS X 10.6.7 เป็นตัวแทนผู้ใช้และเป็นประโยชน์สำหรับการสอบถาม App Store จากสคริปต์ (ข้อมูลเพิ่มเติมเกี่ยวกับ TUAW):

curl -silent -A "iMacAppStore/1.0.1 (Macintosh; U; Intel Mac OS X 10.6.7; en) AppleWebKit/533.20.25" http://ax.search.itunes.apple.com/

ยัง spoofs อื่น Windows XP กับ Firefox 3:

curl -A "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3" http://yahoo.com

คุณสามารถหาสตริงตัวแทนผู้ใช้ผ่านทางเว็บได้เพียงอย่าลืมใส่ไว้ในเครื่องหมายคำพูดหากคุณต้องการเรียกคืนแหล่งที่มาของไซต์เป็นเอเจนต์ผู้ใช้ หากคุณต้องการอ่านเพิ่มเติมเกี่ยวกับตัวแทนผู้ใช้ Wikipedia มีรายการที่ดีในหัวข้อนี้

หมายเหตุ: นี่เป็นการกระทำโดยเจตนาผ่านทางบรรทัดคำสั่งและมุ่งเป้าไปที่ผู้ที่ต้องการทำงานจาก Terminal แต่มีวิธีง่ายๆในการทำเช่นนี้ผ่านแอ็พพลิเคชันกราฟิกมาตรฐานและเว็บเบราเซอร์เช่น Safari, Chrome และ Firefox Safari น่าจะเป็นวิธีที่ง่ายที่สุดเนื่องจากคุณสามารถตั้งค่าผู้ใช้ต่างๆได้โดยตรงจากเมนูนักพัฒนาซอฟต์แวร์:

ภาพหน้าจอนี้ถูกนำมาจากบทความเกี่ยวกับการเรียกใช้การแชท Facebook Video Chat เพื่อทำงานใน OS X Lion ซึ่งทำได้โดยการเปลี่ยนผู้ใช้งานเบราว์เซอร์เป็นเวอร์ชันที่ Facebook ถือว่าเข้ากันได้