_HttpRequest_FileSplitSize

HTTP Requests

_HttpRequest_FileSplitSize

Top  Previous  Next

 

Chia nhỏ kích cỡ tập tin ra các phần đều nhau

 

_HttpRequest_FileSplitSize($iSize_or_URL [, $iPart = 16 ])

 

 

 

* Tham số

$iSize_or_URL

Kích cỡ tập tin hoặc URL tải tập tin

$iPart

Số phần muốn chia nhỏ. Mặc định: 16

 

 

 

* Giá trị trả về

·Trả về mảng với các phần tử được định dạng như là Header Range:

Range: bytes=[byte đầu]-[byte cuối]

 

·0 và set @error nếu lỗi hoặc không tìm thấy Header tương ứng.

 

 

 

* Ghi chú

·Nếu $iSize_or_URL là URL thì hàm sẽ thực hiện request đến URL đó để lấy Content-Length.

 

·Ví dụ tập tin có dung lượng 123456 bytes byte đầu sẽ là 0, byte cuối sẽ là 123455

 

·Header Range khi nạp vào tham số $sAdditional_Headers của hàm _HttpRequest sẽ có tác dụng làm cho request chỉ tải về dữ liệu có dung lượng ứng với phạm vi Bytes đã báo, ví dụ: URL một file ảnh có dung lượng (Content-Length) là 123456 bytes. Ta thực hiện request sau:

_HttpRequest(2, 'https://static-hw.xvideos.com/xvideos.png', '', '', '', 'Range: bytes=0-999')

thì _HttpRequest sẽ chỉ tải về 1000 bytes đầu tiên của ảnh đó.

 

·Ứng dụng của việc chia nhỏ ra nhiều Range Bytes là để kết hợp với các UDF Multi Process tạo ra code download/upload đa luồng.

 

 

 

* Ví dụ

#include <_HttpRequest.au3>

$aPart = _HttpRequest_FileSplitSize(123456)                                                                                

_ArrayDisplay($aPart)

 

#include <_HttpRequest.au3>

$aPart = _HttpRequest_FileSplitSize(123456, 8)                                                                            

_ArrayDisplay($aPart)

 

#include <_HttpRequest.au3>

$aPart = _HttpRequest_FileSplitSize('https://static.pexels.com/photos/39317/chihuahua-dog-puppy-cute-39317.jpeg')

_ArrayDisplay($aPart)