The Final Sky

Exam 4rum
 
IndexIndex  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng Nhập  
Share | 
 

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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Admin
Admin


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

Bài gửiTiêu đề: Cơ bản về WinHttpRequest GET Request và POST Request   Fri 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
Xem lý lịch thành viên http://skyfinal.forum-viet.net
 

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

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

 Similar topics

-
» Luật Post ảnh box nì.
» Nice post keep up te good work !
» Nơi nhận request của mem
» một số ảnh mới của ouke no monshou
» topic nhận yêu cầu post truyện Ouke no Monshou :

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