Nếu bạn cần đặt chuỗi tiêu đề người dùng trong yêu cầu curl, bạn có thể sử dụng -H
tùy chọn để đặt tác nhân người dùng như:
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
Sử dụng một công cụ proxy như Charles Proxy thực sự giúp thực hiện ngắn gọn một cái gì đó giống như những gì bạn đang yêu cầu. Đây là những gì tôi làm, sử dụng trang SO này làm ví dụ (kể từ tháng 7 năm 2015 sử dụng Charles phiên bản 3.10):
- Chạy Charles Proxy
- Đưa ra yêu cầu web bằng trình duyệt
- Tìm yêu cầu mong muốn trong Charles Proxy
- Nhấp chuột phải vào yêu cầu trong Charles Proxy
- Chọn 'Sao chép yêu cầu cURL'
Bây giờ bạn có một yêu cầu cURL mà bạn có thể chạy trong một thiết bị đầu cuối sẽ phản ánh yêu cầu mà trình duyệt của bạn đã thực hiện. Đây là yêu cầu của tôi đối với trang này trông như thế nào (với tiêu đề cookie đã bị xóa):
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