The Final Sky
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

The Final Sky

Exam 4rum
 
Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng Nhập  

 

 Cơ bản về WinHttpRequest GET Request và POST Request

Go down 
Tác giảThông điệp
Admin
Admin
Admin


Tổng số bài gửi : 34
Join date : 03/07/2010

Cơ bản về WinHttpRequest  GET Request và POST Request Empty
Bài gửiTiêu đề: Cơ bản về WinHttpRequest GET Request và POST Request   Cơ bản về WinHttpRequest  GET Request và POST Request EmptyFri Jul 09, 2010 6:45 pm

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/
Về Đầu Trang Go down
https://skyfinal.forumvi.net
 
Cơ bản về WinHttpRequest GET Request và POST Request
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
The Final Sky :: Book-
Chuyển đến