Phù gần một giờ sáng rồi, search được cái này trên google thấy hay nên compile qua đây cho anh em. Bắt đầu nhé !
COM viết tắt của Component Object Model( Tạm dịch là Hợp phần Object Model).Đây là cách mà microsoft tương bằng cách sử dụng phần mềm với giao diên phổ biến. Các giao diện được định nghĩa trong một COM Object.
Trước tiên trong AutoIT ta phải khai báo như sau:
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
Khi trình duyệt của bạn điều hướng tới một trang, nó được gọi là "HTTP Request". HTTP Request có thể chia làm hai loại, GET và POST.
“GET” giúp ta nhận dữ liệu từ máy chủ. Đôi khi bạn sẽ cần phải sử dụng "GET" để lấy thông tin tắt của một trang web như các text, string ,... ”POST” phức tạp hơn. Với "POST" bạn có thể gửi dữ liệu đến một máy chủ. Tôi nghĩ bạn sẽ sử dụng “POST” nhiều hơn.
Bạn thêm vài dòng như sau:
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
;Post request
$oHTTP.Open("POST", "http://www.POSTURL.com" , False)
;OR Get request
$oHTTP.Open("GET", "http://www.GETURL.com" , False)
Bất cứ khi nào bạn đang sử dụng POST và GET, trình duyệt của bạn sẽ gửi dữ liệu được gọi là các header User-Agent. Dữ liệu này xác định những gì mà trình duyệt của bạn đang sử dụng cho dù trình duyệt của bạn có thể là: IE, Firefox, Chrome, Opera, hay Safari. User-Agent gửi dữ liệu cho máy chủ những gì mà trình duyệt được sử dụng. Dữ liệu này có thể được sử dụng bởi các máy chủ để hiển thị phiên bản khác nhau của các trang hoặc xác minh rằng dữ liệu gửi đến là hợp lệ.
Bạn thêm vào dòng sau:
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 4.0.20506)")
Sau khi chỉnh sửa chúng ta được đoạn code sau:
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
;Post request
$oHTTP.Open("POST", "http://www.POSTURL.com" , False)
;Add User-Agent header
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 4.0.20506)")
Bây giờ có lẽ bạn đang suy nghĩ, làm thế nào bạn có thể tìm thấy những User-Agent ? Live HTTP Headers, một addon của Firefox sẽ đáp ứng khó khăn đó.
Bạn tải tại đây :
https://addons.mozilla.org/en-US/firefox/addon/3829Đây là tất cả các header trình duyệt của bạn được gửi khi bạn đã thực hiện một yêu cầu cho một trang. Bạn có thể xem header User-Agent mà đã được gửi ở đó. Đây là nơi mà bạn sẽ thu thập tất cả dữ liệu cho yêu cầu của bạn.
Header bạn muốn thêm vào là header Referrer. Header này dành cho các trang có biểu mẫu (form).
Bạn thêm vào vài dòng sau:
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1") ;Post request $oHTTP.Open("POST", "http://www.POSTURL.com" , False)
;Add User-Agent header
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 4.0.20506)")
;Add Referrer header
$oHTTP.SetRequestHeader("Referrer", "http://www.REFERRERURL.com")
Phần tiếp theo này chỉ áp dụng nếu bạn đang thực hiện “POST”
Đưa ra một yêu cầu POST khi bạn đang làm việc với các biểu mẫu (form), những từ khóa <form> trong HTML. Chúng được sử dụng để gửi dữ liệu đến máy chủ.
Một header bổ sung được gọi là Content-Type.
Bạn thêm vào mã sau:
Content-Type: application/x-www-form-urlencoded
Thêm header này giống như User-Agent và Referrer:
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1") ;Post request $oHTTP.Open("POST", "http://www.POSTURL.com" , False)
;Add User-Agent header
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 4.0.20506)")
;Add Referrer header
$oHTTP.SetRequestHeader("Referrer", "http://www.REFERRERURL.com")
;Add Content-Type
$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
Kết thúc phần này
Bạn có thể gửi yêu cầu đến máy chủ bằng cách:
$oHTTP.Send()
Nếu bạn đang thực hiện một yêu cầu POST, bạn sẽ được gửi dữ liệu.
Để gửi dữ liệu, bạn chỉ cần đặt nó bên trong () như thế này:
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
;Post request
$oHTTP.Open("POST", "http://www.POSTURL.com" , False)
;Add User-Agent header
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 4.0.20506)")
;Add Referrer header
$oHTTP.SetRequestHeader("Referrer", "http://www.REFERRERURL.com")
;Add Content-Type
$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
;Send POST request
$oHTTP.Send("DATATOSEND")
Sau khi bạn gửi yêu cầu của bạn, có một dữ liệu mới phản hồi lại từ máy chủ. Bạn nhận dữ liệu phản hồi đó bằng cách:
$oReceived = $oHTTP.ResponseText
Bây giờ $oRecieved chứa mã nguồn HTML của trang được yêu cầu
Sau một hồi code, bạn sẽ được như sau:
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
;Post request
$oHTTP.Open("POST", "http://www.POSTURL.com" , False)
;Add User-Agent header
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 4.0.20506)")
;Add Referrer header
$oHTTP.SetRequestHeader("Referrer", "http://www.REFERRERURL.com")
;Add Content-Type
$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
;Send POST request
$oHTTP.Send("DATATOSEND)
;Get received data
$oReceived = $oHTTP.ResponseText
Nguồn :http://autoit.72ls.net/