หากคุณต้องการตั้งค่าสตริงส่วนหัวผู้ใช้ในคำขอ curl คุณสามารถใช้-H
ตัวเลือกเพื่อตั้งค่าตัวแทนผู้ใช้เช่น:
curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" http://stackoverflow.com/questions/28760694/how-to-use-curl-to-get-a-get-request-exactly-same-as-using-chrome
การใช้เครื่องมือพร็อกซีเช่นCharles Proxyช่วยให้ทำงานสั้น ๆ เช่นสิ่งที่คุณกำลังถามได้ นี่คือสิ่งที่ฉันทำโดยใช้หน้า SO นี้เป็นตัวอย่าง (ณ เดือนกรกฎาคม 2015 โดยใช้ Charles เวอร์ชัน 3.10):
- เรียกใช้ Charles Proxy
- ขอเว็บโดยใช้เบราว์เซอร์
- ค้นหาคำขอที่ต้องการใน Charles Proxy
- คลิกขวาตามคำขอใน Charles Proxy
- เลือก 'คัดลอกคำขอ cURL'
ขณะนี้คุณมีคำขอ cURL ที่คุณสามารถเรียกใช้ในเทอร์มินัลที่จะจำลองคำขอที่เบราว์เซอร์ของคุณสร้างขึ้น นี่คือสิ่งที่คำขอของฉันไปยังหน้านี้ (โดยลบส่วนหัวคุกกี้ออก):
curl -H "Host: stackoverflow.com" -H "Cache-Control: max-age=0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -H "HTTPS: 1" -H "DNT: 1" -H "Referer: https://www.google.com/" -H "Accept-Language: en-US,en;q=0.8,en-GB;q=0.6,es;q=0.4" -H "If-Modified-Since: Thu, 23 Jul 2015 20:31:28 GMT" --compressed http://stackoverflow.com/questions/28760694/how-to-use-curl-to-get-a-get-request-exactly-same-as-using-chrome