_Data2SendEncode

HTTP Requests

_Data2SendEncode

Top  Previous  Next

 

Hàm mở rộng của hàm _URIEncode

Mã hoá chuỗi chứa các ký tự khác 0-9a-z sang %[hex]

 

_Data2SendEncode($sData2Send)

 

 

 

* Tham số

$sData2Send

Dữ liệu cần mã hoá

 

 

 

* Giá trị trả về

Dữ liệu đã được encode chuẩn URI

 

 

 

* Ghi chú

·Khi thực hiện POST dạng application/x-www-form-urlencoded thì thường cần phải encode $sData2Send các ký tự khác 0-9a-z bằng hàm _URIEncode, ví dụ:

 

$sData2Send = '[email protected]&pass=huân'

$sData2Send = 'email=' & _URIEncode('[email protected]') & '&pass=' & _URIEncode('huân')

 

Điều đó khiến ta phải lặp đi lặp lại nhiều lần hàm _URIEncode để chuyển hết chuỗi dữ liệu sang chuẩn URI. Điều đó vô cùng bất tiện. Thay vào đó ta sẽ dùng _Data2SendEncode một lần duy nhất để encode chuỗi dữ liệu:

 

$sData2Send = _Data2SendEncode('[email protected]&pass=huân')

 

·Thực tế thì ta không cần encode nhưng 70% POST loại này là cần. Vì vậy ta cứ tập thói quen encode khi làm request POST application/x-www-form-urlencoded để không bối rối khi code phát sinh lỗi và không biết phát sinh từ đâu.

 

 

 

* Ví dụ

#include <_HttpRequest.au3>

$encode = _Data2SendEncode('tàikhoả[email protected]')

MsgBox(4096, 'Encode', $encode) ;Kết quả: t%C3%A0ikho%E1%BA%A3n=huan%40gmail.com

 

#include <_HttpRequest.au3>

$name = 'huan1hoang2'

$pass = '123456'

$rq = _HttpRequest(1, 'http://chiasenhac.vn/login.php', _Data2SendEncode('username=' & $name & '&password=' & $pass & '&autologin=on&redirect=&login=%C4%90%C4%83ng+nh%E1%BA%ADp')

MsgBox(4096, 'Response Header', $rq)