2011-12-04 27 views
7

Tôi đang cố gắng chuyển một tệp nhiều gb từ máy chủ này sang máy chủ khác; vấn đề là RTT là 150ms +. Ive đã cố gắng sử dụng aria2 nhưng giới hạn của nó đến 16 kết nối, lftp không có bất kỳ bảo vệ chống lại chuyển giao bị trì hoãn.tải xuống bằng curl sử dụng nhiều kết nối

Tôi tự hỏi nếu có thể tải xuống một tệp có nhiều kết nối bằng cách sử dụng lệnh curl cli.

Trả lời

2

Không, công cụ curl không có khả năng như vậy.

(oh và btw, một RTT lớn là rất hiếm khi giải thích tại sao một chuyển TCP đơn giản là chậm)

4

Có một kịch bản gọi là pcurl rằng kết thúc tốt đẹp curl để làm nhiều tải đồng thời và sau đó kết hợp chúng khi hoàn tất.

Nó mặc định là 10 kết nối nhưng điều này có thể được thay đổi trong MAX_SEGMENTS trên dòng 81.

Nó được gọi như thế này:

./pcurl.sh http://myurl.to/a/very/largefile.zip 
1

Có thể. Tìm nạp tổng kích thước tệp bằng tùy chọn -I trong curl.

Sau đó, bạn có thể ngã ba nhiều quy trình trong một vỏ, mỗi kết nối curl với một tiêu đề khác nhau Content-Length để tải xuống phần khác nhau của tệp.

Sau khi tất cả các tác vụ kết thúc, sau đó hợp nhất tất cả các lát tải xuống thành một tệp lớn.

Tôi đã viết một kịch bản đơn giản và có sẵn tại đây mcurl.sh, với tùy chọn -s bạn có thể chỉ định số lượng tác vụ bạn tạo để tải xuống tệp lớn.

Các vấn đề liên quan