Xác thực cơ bản php curl
Nhận tệp từ máy chủ SSH bằng SFTP Show
Nhận tệp từ máy chủ SSH bằng SCP bằng khóa riêng (không được bảo vệ bằng mật khẩu) để xác thực
Nhận tệp từ máy chủ SSH bằng SCP bằng khóa riêng (được bảo vệ bằng mật khẩu) để xác thực 0Nhận trang chính từ máy chủ web IPv6 1Nhận tệp từ máy chủ SMB 2Tải xuống một tệpNhận một trang web và lưu trữ trong một tệp cục bộ với một tên cụ thể 3Nhận một trang web và lưu trữ trong một tệp cục bộ, đặt tệp cục bộ lấy tên của tài liệu từ xa (nếu không có phần tên tệp nào được chỉ định trong URL, điều này sẽ thất bại) 4Tìm nạp hai tệp và lưu trữ chúng với tên từ xa của chúng 5Sử dụng mật khẩuFTPĐối với các tệp ftp bằng tên và mật khẩu, hãy đưa chúng vào URL như 6hoặc chỉ định chúng bằng cờ 04 như 7FTPSNó giống như đối với FTP, nhưng bạn cũng có thể muốn chỉ định và sử dụng các tùy chọn dành riêng cho SSL cho chứng chỉ, v.v. Lưu ý rằng sử dụng 05 làm tiền tố là cách ngầm định như được mô tả trong các tiêu chuẩn trong khi cách rõ ràng được đề xuất được thực hiện bằng cách sử dụng tùy chọn 06 và 07SFTP / SCPĐiều này tương tự như FTP, nhưng bạn có thể sử dụng tùy chọn 08 để chỉ định khóa riêng để sử dụng thay vì mật khẩu. Lưu ý rằng khóa riêng có thể được bảo vệ bằng mật khẩu không liên quan đến mật khẩu đăng nhập của hệ thống từ xa; . Thông thường, curl sẽ tự động trích xuất khóa chung từ tệp khóa riêng, nhưng trong trường hợp curl không có hỗ trợ thư viện phù hợp, tệp khóa chung phù hợp phải được chỉ định bằng cách sử dụng tùy chọn 10HTTPCurl cũng hỗ trợ người dùng và mật khẩu trong các URL HTTP, do đó bạn có thể chọn một tệp như 8hoặc chỉ định riêng người dùng và mật khẩu như trong 9HTTP cung cấp nhiều phương thức xác thực khác nhau và curl hỗ trợ một số. Cơ bản, Thông báo, NTLM và Đàm phán (SPNEGO). Không cho biết nên sử dụng phương pháp nào, cuộn tròn mặc định là Cơ bản. Bạn cũng có thể yêu cầu curl chọn những cái an toàn nhất trong số những cái mà máy chủ chấp nhận cho URL đã cho, bằng cách sử dụng 11Ghi chú. Theo đặc tả URL, URL HTTP không thể chứa người dùng và mật khẩu, do đó, kiểu đó sẽ không hoạt động khi sử dụng curl qua proxy, mặc dù curl cho phép vào những thời điểm khác. Khi sử dụng proxy, bạn phải sử dụng kiểu 04 cho người dùng và mật khẩuHTTPSCó lẽ được sử dụng phổ biến nhất với chứng chỉ riêng, như được giải thích bên dưới Ủy quyềncurl hỗ trợ cả máy chủ proxy HTTP và SOCKS, với xác thực tùy chọn. Nó không có hỗ trợ đặc biệt cho các máy chủ proxy FTP vì không có tiêu chuẩn nào cho những máy chủ đó, nhưng nó vẫn có thể được tạo để hoạt động với nhiều máy chủ trong số chúng. Bạn cũng có thể sử dụng cả proxy HTTP và SOCKS để truyền tệp đến và từ máy chủ FTP Nhận tệp ftp bằng proxy HTTP có tên my-proxy sử dụng cổng 888 10Nhận tệp từ máy chủ HTTP yêu cầu người dùng và mật khẩu, sử dụng cùng một proxy như trên 11Một số proxy yêu cầu xác thực đặc biệt. Chỉ định bằng cách sử dụng -U như trên 12Có thể chỉ định danh sách máy chủ và tên miền được phân tách bằng dấu phẩy không sử dụng proxy là 13Nếu proxy được chỉ định bằng 13 thay vì 14 hoặc 15, thì curl sẽ sử dụng HTTP/1. 0 thay vì HTTP/1. 1 cho bất kỳ lần thử 16 nàocurl cũng hỗ trợ proxy SOCKS4 và SOCKS5 với 17 và 18Xem thêm các biến môi trường Curl hỗ trợ cung cấp thêm quyền kiểm soát proxy Hầu hết các máy chủ proxy FTP được thiết lập để xuất hiện như một máy chủ FTP bình thường theo quan điểm của máy khách, với các lệnh đặc biệt để chọn máy chủ FTP từ xa. curl hỗ trợ các tùy chọn 04, 20 và 21 có thể được sử dụng để thiết lập chuyển qua nhiều proxy FTP. Ví dụ: một tệp có thể được tải lên máy chủ FTP từ xa bằng proxy Blue Coat FTP với các tùy chọn 14Xem hướng dẫn sử dụng cho proxy FTP của bạn để xác định hình thức mà proxy dự kiến sẽ thiết lập chuyển và tùy chọn 22 của curl để xem chính xác những gì curl đang gửiĐường ốngNhận một tệp chính và thêm tệp đó bằng 23 (khi trên hệ thống sử dụng 24 để quản lý gói) 15Các '. ' chuyển đầu ra sang STDIN. 25 nói với 23 rằng tệp chính sẽ được đọc từ STDINCác dãyHTTP1. 1 phạm vi byte được giới thiệu. Sử dụng điều này, khách hàng có thể yêu cầu chỉ nhận một hoặc nhiều phần phụ của một tài liệu được chỉ định. Curl hỗ trợ điều này với cờ 27Nhận 100 byte đầu tiên của tài liệu 16Nhận 500 byte cuối cùng của tài liệu 17Curl cũng hỗ trợ các phạm vi đơn giản cho các tệp FTP. Sau đó, bạn chỉ có thể chỉ định vị trí bắt đầu và dừng Nhận 100 byte đầu tiên của tài liệu bằng FTP 18Đang tải lênFTP / FTPS / SFTP / SCPTải tất cả dữ liệu trên stdin lên một máy chủ được chỉ định 19Tải lên dữ liệu từ một tệp được chỉ định, đăng nhập bằng người dùng và mật khẩu 60Tải tệp cục bộ lên trang từ xa và cũng sử dụng tên tệp cục bộ tại trang từ xa 61Tải lên tệp cục bộ để được thêm vào tệp từ xa 62Curl cũng hỗ trợ tải lên ftp thông qua proxy, nhưng chỉ khi proxy được định cấu hình để cho phép loại đường hầm đó. Nếu đúng như vậy, bạn có thể chạy curl theo cách tương tự như 63SMB / SMBS 64HTTPTải tất cả dữ liệu trên stdin lên một trang web HTTP được chỉ định 65Lưu ý rằng máy chủ HTTP phải được cấu hình để chấp nhận PUT trước khi điều này có thể được thực hiện thành công Để biết các cách khác để tải lên dữ liệu HTTP, hãy xem phần POST bên dưới Chi tiết / Gỡ lỗiNếu cuộn tròn không thành công ở nơi không được phép, nếu máy chủ không cho phép bạn truy cập, nếu bạn không thể hiểu câu trả lời. sử dụng cờ 22 để tìm nạp chi tiết. Curl sẽ xuất ra rất nhiều thông tin và những gì nó gửi và nhận để cho phép người dùng thấy tất cả tương tác giữa máy khách và máy chủ (nhưng nó sẽ không hiển thị cho bạn dữ liệu thực tế) 66Để biết thêm chi tiết và thông tin về tác dụng của curl, hãy thử sử dụng các tùy chọn 29 hoặc 30 với tên tệp nhất định để đăng nhập, như thế này 67Thông tin chi tiếtCác giao thức khác nhau cung cấp các cách khác nhau để nhận thông tin chi tiết về các tệp/tài liệu cụ thể. Để cuộn tròn hiển thị thông tin chi tiết về một tệp, bạn nên sử dụng tùy chọn 31/ 32. Nó hiển thị tất cả thông tin có sẵn trên một tệp duy nhất cho HTTP và FTP. Thông tin HTTP rộng hơn rất nhiềuĐối với HTTP, bạn có thể lấy thông tin tiêu đề (giống như 31 sẽ hiển thị) được hiển thị trước dữ liệu bằng cách sử dụng 34/ 35. Curl hiểu tùy chọn 36/ 37 khi nhận tệp từ cả FTP và HTTP, sau đó nó sẽ lưu các tiêu đề trong tệp đã chỉ địnhLưu trữ các tiêu đề HTTP trong một tệp riêng biệt (tiêu đề. txt trong ví dụ) 68Lưu ý rằng các tiêu đề được lưu trữ trong một tệp riêng biệt có thể hữu ích sau này nếu bạn muốn cuộn tròn sử dụng cookie do máy chủ gửi. Thông tin thêm về điều đó trong phần cookie BÀI ĐĂNG (HTTP)Thật dễ dàng để đăng dữ liệu bằng cách sử dụng curl. Điều này được thực hiện bằng cách sử dụng tùy chọn 38. Dữ liệu bài đăng phải được mã hóa urlĐăng một sổ lưu bút 39 và 40 đơn giản 69Cách post form với curl, bài #1 Khai thác tất cả các thẻ 41 trong biểu mẫu mà bạn muốn điền vàoCòn post bình thường thì bạn dùng 38 để post. 38 lấy một chuỗi bài đăng đầy đủ, ở định dạng 20Tên biến là tên được đặt với 44 trong thẻ 41 và dữ liệu là nội dung bạn muốn điền vào cho các đầu vào. Dữ liệu phải được mã hóa URL chính xác. Điều đó có nghĩa là bạn thay thế dấu cách bằng + và bạn thay thế các chữ cái lạ bằng 46 trong đó 47 là biểu diễn thập lục phân của mã ASCII của chữ cáiThí dụ (trang nằm ở 48) 21Chúng tôi muốn nhập người dùng 49 bằng mật khẩu 50Để đăng bài này, bạn nhập một dòng lệnh curl như 22Trong khi 38 sử dụng loại mime ứng dụng/x-www-form-urlencoded, thường được hiểu bởi CGI và tương tự, thì curl cũng hỗ trợ loại dữ liệu multipart/form-data có khả năng cao hơn. Loại thứ hai này hỗ trợ những thứ như tải lên tệp 52 chấp nhận các tham số như 53. Nếu bạn muốn đọc nội dung từ một tệp, hãy sử dụng 54 làm nội dung. Khi chỉ định một tệp, bạn cũng có thể chỉ định loại nội dung tệp bằng cách thêm 55 vào tên tệp. Bạn cũng có thể đăng nội dung của nhiều tệp trong một trường. Ví dụ: tên trường 56 được sử dụng để gửi ba tệp, với các loại nội dung khác nhau bằng cú pháp sau 23Nếu loại nội dung không được chỉ định, curl sẽ cố gắng đoán từ phần mở rộng của tệp (nó chỉ biết một số) hoặc sử dụng loại đã chỉ định trước đó (từ một tệp trước đó nếu một số tệp được chỉ định trong danh sách) nếu không nó sẽ Giả lập biểu mẫu điền thông tin với 52. Giả sử bạn điền vào ba trường trong một biểu mẫu. Một trường là tên tệp để đăng, một trường là tên của bạn và một trường là mô tả tệp. Chúng tôi muốn đăng tệp chúng tôi đã viết có tên là 59. Để cho phép curl đăng dữ liệu này thay vì trình duyệt yêu thích của bạn, bạn phải đọc nguồn HTML của trang biểu mẫu và tìm tên của các trường nhập. Trong ví dụ của chúng tôi, tên trường đầu vào là 60, 61 và 62 24Để gửi hai tệp trong một bài đăng, bạn có thể thực hiện theo hai cách Gửi nhiều tệp trong một trường với một tên trường duy nhất 25Gửi hai trường với hai tên trường 26Để gửi một giá trị trường theo nghĩa đen mà không diễn giải một 63 hoặc 64 hàng đầu hoặc một 55 được nhúng, hãy sử dụng 66 thay vì 52. Điều này được khuyến nghị khi giá trị được lấy từ người dùng hoặc một số nguồn không thể đoán trước khác. Trong những trường hợp này, việc sử dụng 52 thay vì 66 có thể cho phép người dùng lừa curl tải tệp lênngười giới thiệuMột yêu cầu HTTP có tùy chọn bao gồm thông tin về địa chỉ đã chuyển nó đến trang thực tế. curl cho phép bạn chỉ định liên kết giới thiệu sẽ được sử dụng trên dòng lệnh. Nó đặc biệt hữu ích để đánh lừa hoặc đánh lừa các máy chủ ngu ngốc hoặc tập lệnh CGI dựa trên thông tin có sẵn hoặc chứa dữ liệu nhất định 27Đại lý người dùngYêu cầu HTTP có tùy chọn bao gồm thông tin về trình duyệt đã tạo yêu cầu. Curl cho phép nó được chỉ định trên dòng lệnh. Nó đặc biệt hữu ích để đánh lừa hoặc đánh lừa các máy chủ ngu ngốc hoặc tập lệnh CGI chỉ chấp nhận một số trình duyệt nhất định Thí dụ 28Các chuỗi phổ biến khác
Lưu ý rằng Internet Explorer cố gắng hết sức để tương thích về mọi mặt
Mozilla không phải là tên Tác nhân người dùng duy nhất có thể
Bánh quyCookie thường được sử dụng bởi các máy chủ web để giữ thông tin trạng thái ở phía máy khách. Máy chủ đặt cookie bằng cách gửi một dòng phản hồi trong các tiêu đề trông giống như 78 trong đó phần dữ liệu thường chứa một bộ gồm các cặp 79 (được phân tách bằng dấu chấm phẩy 80 giống như 81). Máy chủ cũng có thể chỉ định cookie sẽ được sử dụng cho đường dẫn nào (bằng cách chỉ định 82), khi nào cookie sẽ hết hạn ( 83), sử dụng cookie cho miền nào ( 84) và liệu cookie có nên được sử dụng chỉ trên các kết nối an toàn không ( 85 Nếu bạn đã nhận được một trang từ máy chủ có chứa tiêu đề như 29điều đó có nghĩa là máy chủ muốn cặp đầu tiên đó được chuyển khi chúng tôi nhận được bất kỳ thứ gì trong đường dẫn bắt đầu bằng 86Ví dụ, nhận một trang muốn tên của tôi được chuyển vào cookie 250Curl cũng có khả năng sử dụng các cookie đã nhận trước đó trong các phiên tiếp theo. Nếu bạn nhận cookie từ máy chủ và lưu trữ chúng trong tệp theo cách tương tự như 251sau đó bạn có thể kết nối với trang web đó (hoặc trang web khác) trong giây lát, sử dụng cookie từ tệp 87 như 252Mặc dù lưu tiêu đề vào tệp là một cách hiệu quả để lưu trữ cookie, tuy nhiên, đây là cách dễ bị lỗi và không phải là cách ưa thích để thực hiện việc này. Thay vào đó, hãy tạo curl lưu các cookie đến bằng định dạng cookie Netscape nổi tiếng như thế này 253Lưu ý rằng bằng cách chỉ định 88, bạn kích hoạt công cụ cookie và với 89, bạn có thể tạo cuộn tròn theo một 90 (thường được sử dụng kết hợp với cookie). Nếu một trang web gửi cookie và trường vị trí, bạn có thể sử dụng tệp không tồn tại để kích hoạt nhận thức về cookie như 254Tệp để đọc cookie phải được định dạng bằng tiêu đề HTTP đơn giản HOẶC dưới dạng tệp cookie của Netscape. Curl sẽ xác định loại nó dựa trên nội dung tệp. Trong lệnh trên, curl sẽ phân tích cú pháp tiêu đề và lưu trữ các cookie nhận được từ www. thí dụ. com. curl sẽ gửi đến máy chủ các cookie được lưu trữ phù hợp với yêu cầu khi nó theo vị trí. Tệp 91 có thể là một tệp không tồn tạiĐể đọc và ghi cookie từ tệp cookie Netscape, bạn có thể đặt cả 88 và 93 để sử dụng cùng một tệp 255Máy đo tiến độĐồng hồ đo tiến trình tồn tại để cho người dùng thấy điều gì đó đang thực sự xảy ra. Các trường khác nhau trong đầu ra có ý nghĩa như sau 256Từ trái sang phải
Tùy chọn 106 sẽ hiển thị một thanh tiến trình hoàn toàn khác mà không cần giải thích nhiềuTốc độ giới hạnCurl cho phép người dùng đặt các điều kiện tốc độ truyền phải được đáp ứng để quá trình truyền tiếp tục diễn ra. Bằng cách sử dụng công tắc 107 và 108, bạn có thể thực hiện chuyển hủy bỏ curl nếu tốc độ truyền thấp hơn giới hạn thấp nhất đã chỉ định trong một thời gian nhất địnhĐể hủy bỏ quá trình tải xuống nếu tốc độ chậm hơn 3000 byte mỗi giây trong 1 phút, hãy chạy 257Điều này có thể được sử dụng kết hợp với giới hạn thời gian tổng thể, do đó hoạt động trên phải được hoàn thành toàn bộ trong vòng 30 phút 258Cũng có thể buộc cuộn tròn không truyền dữ liệu nhanh hơn tốc độ nhất định, điều này có thể hữu ích nếu bạn đang sử dụng kết nối băng thông hạn chế và bạn không muốn quá trình truyền của mình sử dụng hết tốc độ đó (đôi khi được gọi là điều tiết băng thông) Làm cho dữ liệu truyền curl không nhanh hơn 10 kilobyte mỗi giây 259hoặc 570Hoặc ngăn cuộn tròn tải lên dữ liệu nhanh hơn 1 megabyte mỗi giây 571Khi sử dụng tùy chọn 109, tốc độ truyền được quy định trên cơ sở mỗi giây, điều này sẽ khiến tổng tốc độ truyền trở nên thấp hơn con số đã cho. Tất nhiên, đôi khi thấp hơn đáng kể, nếu quá trình chuyển khoản của bạn bị đình trệ trong các khoảng thời gianTập tin cấu hìnhCurl tự động cố đọc tệp 110 (hoặc tệp 111 trên hệ thống Microsoft Windows) từ thư mục nhà của người dùng khi khởi độngTệp cấu hình có thể được tạo bằng các công tắc dòng lệnh thông thường, nhưng bạn cũng có thể chỉ định các tùy chọn dài không có dấu gạch ngang để dễ đọc hơn. Bạn có thể tách các tùy chọn và tham số bằng dấu cách hoặc bằng 112 hoặc 113. Nhận xét có thể được sử dụng trong tệp. Nếu chữ cái đầu tiên trên một dòng là ký hiệu 114 thì phần còn lại của dòng được coi là chú thíchNếu bạn muốn tham số chứa khoảng trắng, bạn phải đặt toàn bộ tham số trong dấu ngoặc kép ( 115). Trong các trích dẫn đó, bạn chỉ định một trích dẫn là 116GHI CHÚ. Bạn phải chỉ định các tùy chọn và đối số của chúng trên cùng một dòng Ví dụ, đặt thời gian chờ mặc định và proxy trong tệp cấu hình 572Khoảng trắng CÓ ý nghĩa ở cuối dòng, nhưng tất cả khoảng trắng dẫn đến các ký tự đầu tiên của mỗi dòng đều bị bỏ qua Ngăn cuộn tròn đọc tệp mặc định bằng cách sử dụng -q làm tham số dòng lệnh đầu tiên, như 573Buộc cuộn tròn để nhận và hiển thị trang trợ giúp cục bộ trong trường hợp nó được gọi mà không có URL bằng cách tạo một tệp cấu hình tương tự như 574Bạn có thể chỉ định một tệp cấu hình khác sẽ được đọc bằng cách sử dụng cờ 117/ 118. Nếu bạn đặt tên tệp cấu hình thành 25, nó sẽ đọc cấu hình từ stdin, điều này có thể hữu ích nếu bạn muốn ẩn các tùy chọn khỏi hiển thị trong các bảng quy trình, v.v. 575Khi sử dụng curl trong các chương trình của riêng bạn, cuối cùng bạn có thể cần chuyển các tiêu đề tùy chỉnh của riêng mình khi truy cập trang web. Bạn có thể làm điều này bằng cách sử dụng cờ 120Ví dụ, gửi tiêu đề 121 đến máy chủ khi nhận một trang 576Điều này cũng có thể hữu ích trong trường hợp bạn muốn curl gửi một văn bản khác trong tiêu đề so với thông thường. Tiêu đề 120 bạn chỉ định sau đó thay thế tiêu đề cuộn tròn thường gửi. Nếu bạn thay thế một tiêu đề bên trong bằng một tiêu đề trống, bạn sẽ ngăn không cho gửi tiêu đề đó. Để ngăn tiêu đề 123 được sử dụng 577FTP và tên đường dẫnXin lưu ý rằng khi nhận các tệp có URL 124, đường dẫn đã cho có liên quan đến thư mục bạn nhập. Để lấy tệp 125 từ thư mục chính tại trang ftp của bạn, hãy làm 578Nếu bạn muốn tệp README từ thư mục gốc của cùng trang web đó, bạn cần chỉ định tên tệp tuyệt đối 579(TÔI. e có thêm dấu gạch chéo trước tên tệp. ) SFTP và SCP và tên đường dẫnVới sftp. và scp. URL, tên đường dẫn được cung cấp là tên tuyệt đối trên máy chủ. Để truy cập một tệp có liên quan đến thư mục chính của người dùng từ xa, hãy thêm tiền tố vào tệp bằng 126 , chẳng hạn như 850FTP và tường lửaGiao thức FTP yêu cầu một trong các bên liên quan mở kết nối thứ hai ngay khi dữ liệu chuẩn bị được truyền đi. Có hai cách để làm điều này Cách mặc định để cuộn tròn là đưa ra lệnh PASV khiến máy chủ mở một cổng khác và chờ một kết nối khác do máy khách thực hiện. Điều này tốt nếu máy khách đứng sau tường lửa không cho phép các kết nối đến 851Ví dụ: nếu máy chủ nằm sau tường lửa không cho phép kết nối trên các cổng khác 21 (hoặc nếu nó không hỗ trợ lệnh 127), thì cách khác để thực hiện là sử dụng lệnh 128 và hướng dẫn máy chủ Cờ 129 để cuộn tròn hỗ trợ một số tùy chọn khác nhau. Máy của bạn có thể có một số địa chỉ IP và/hoặc giao diện mạng và curl cho phép bạn chọn địa chỉ nào để sử dụng. Địa chỉ mặc định cũng có thể được sử dụng 852Tải xuống bằng 128 nhưng sử dụng địa chỉ IP của giao diện 131 của chúng tôi (điều này không hoạt động trên Windows) 853Tải xuống với 128 nhưng sử dụng 192. 168. 0. 10 làm địa chỉ IP của chúng tôi để sử dụng 854Giao diện mạngNhận trang web từ máy chủ bằng cổng được chỉ định cho giao diện 855hoặc 856HTTPSHTTP an toàn yêu cầu thư viện TLS được cài đặt và sử dụng khi cuộn tròn được tạo. Nếu điều đó được thực hiện, curl có khả năng truy xuất và đăng tài liệu bằng giao thức HTTPS Thí dụ 857curl cũng có khả năng sử dụng chứng chỉ ứng dụng khách để nhận/đăng tệp từ các trang web yêu cầu chứng chỉ hợp lệ. Hạn chế duy nhất là chứng chỉ phải ở định dạng PEM. PEM là một định dạng chuẩn và mở để lưu trữ các chứng chỉ, nhưng nó không được sử dụng bởi các trình duyệt thông dụng nhất. Nếu bạn muốn curl sử dụng chứng chỉ bạn sử dụng với trình duyệt yêu thích của mình, bạn có thể cần tải xuống/biên dịch trình chuyển đổi có thể chuyển đổi chứng chỉ được định dạng của trình duyệt của bạn thành chứng chỉ có định dạng PEM Ví dụ về cách tự động truy xuất tài liệu bằng chứng chỉ có mật khẩu cá nhân 858Nếu bạn quên chỉ định mật khẩu trên dòng lệnh, bạn sẽ được nhắc nhập đúng mật khẩu trước khi có thể nhận bất kỳ dữ liệu nào Nhiều máy chủ HTTPS cũ hơn gặp sự cố với các phiên bản SSL hoặc TLS cụ thể mà các phiên bản OpenSSL mới hơn, v.v. sử dụng, do đó, đôi khi rất hữu ích khi chỉ định phiên bản TLS nào nên sử dụng 859Nếu không, curl sẽ cố gắng sử dụng phiên bản mặc định TLS hợp lý Tiếp tục truyền tệpĐể tiếp tục truyền tệp mà nó đã bị hủy bỏ trước đó, curl hỗ trợ tiếp tục tải xuống HTTP(S) cũng như tải lên và tải xuống FTP Tiếp tục tải xuống một tài liệu 0Tiếp tục tải tài liệu lên 1Tiếp tục tải xuống tài liệu từ máy chủ web 2HTTP cho phép khách hàng chỉ định điều kiện thời gian cho tài liệu mà nó yêu cầu. Đó là 133 hoặc 134. curl cho phép bạn chỉ định chúng bằng cờ ________ 2135/______ 2136Ví dụ: bạn có thể dễ dàng thực hiện tải xuống chỉ được thực hiện nếu tệp từ xa mới hơn bản sao cục bộ. Nó sẽ được thực hiện như 3Hoặc bạn chỉ có thể tải xuống tệp nếu tệp cục bộ mới hơn tệp từ xa. Thực hiện việc này bằng cách thêm vào trước chuỗi ngày một số 25, như trong 4Bạn có thể chỉ định một ngày văn bản đơn giản như điều kiện. Yêu cầu curl chỉ tải xuống tệp nếu nó được cập nhật kể từ ngày 12 tháng 1 năm 2012 5curl chấp nhận nhiều định dạng ngày tháng. Bạn luôn kiểm tra ngày theo cách ngược lại bằng cách thêm vào trước nó một dấu gạch ngang ( 25)DICTĐể vui hãy thử 6Bí danh của 139 là 140 và ________ 2141 và bí danh của ________ 2142 là ________ 2143 và ________ 2144. Ví dụ, 7Các lệnh phá vỡ mô tả URL của RFC (chứ không phải giao thức DICT) là 8Hỗ trợ xác thực vẫn còn thiếu LDAPNếu bạn đã cài đặt thư viện OpenLDAP, curl có thể tận dụng lợi thế của nó và cung cấp hỗ trợ 145. Trên Windows, theo mặc định, curl sẽ sử dụng WinLDAP từ SDK nền tảngPhiên bản giao thức mặc định được sử dụng bởi curl là LDAP phiên bản 3. Phiên bản 2 sẽ được sử dụng làm cơ chế dự phòng trong trường hợp phiên bản 3 không kết nối được LDAP là một thứ phức tạp và viết một truy vấn LDAP không phải là một nhiệm vụ dễ dàng. Tôi khuyên bạn nên tìm hiểu mô tả cú pháp cho điều đó ở nơi khác. Một nơi như vậy có thể là. RFC 2255, Định dạng URL LDAP Để cho bạn thấy một ví dụ, đây là cách tôi có thể lấy tất cả mọi người từ máy chủ LDAP cục bộ của mình có một tên miền phụ nhất định trong địa chỉ email của họ 9Nếu tôi muốn thông tin tương tự ở định dạng HTML, tôi có thể lấy thông tin đó bằng cách không sử dụng cờ 146 (thực thi ASCII)Bạn cũng có thể sử dụng xác thực khi truy cập danh mục LDAP 0Theo mặc định, nếu người dùng và mật khẩu được cung cấp, OpenLDAP/WinLDAP sẽ sử dụng xác thực cơ bản. Trên Windows, bạn có thể kiểm soát hành vi này bằng cách cung cấp một trong các tùy chọn 147, 148 hoặc 149 trong dòng lệnh curl 1Trên Windows, nếu không có người dùng/mật khẩu nào được chỉ định, cơ chế tự động đàm phán sẽ được sử dụng với thông tin xác thực đăng nhập hiện tại (SSPI/SPNEGO) Biến môi trườngCurl đọc và hiểu các biến môi trường sau 2Chúng nên được đặt cho các proxy dành riêng cho giao thức. Proxy chung nên được đặt với 3Danh sách tên máy chủ được phân tách bằng dấu phẩy không được thông qua bất kỳ proxy nào được đặt trong (chỉ dấu hoa thị, 150 khớp với tất cả máy chủ) 4Nếu tên máy chủ khớp với một trong các chuỗi này hoặc máy chủ nằm trong miền của một trong các chuỗi này, giao dịch với nút đó sẽ không được thực hiện qua proxy. Khi một tên miền được sử dụng, nó cần bắt đầu bằng một khoảng thời gian. Người dùng có thể chỉ định rằng cả www. thí dụ. com và foo. thí dụ. com không nên sử dụng proxy bằng cách đặt 151 thành 152. Bằng cách bao gồm tên đầy đủ, bạn có thể loại trừ các tên máy chủ cụ thể, vì vậy, để làm cho 153 không sử dụng proxy nhưng vẫn có 154 làm điều đó, hãy đặt 151 thành 153Việc sử dụng cờ 15/ 14 sẽ ghi đè các biến môi trườngmạngUnix đã giới thiệu khái niệm 159 từ lâu. Đó là cách để người dùng chỉ định tên và mật khẩu cho các trang FTP thường truy cập trong một tệp để bạn không phải nhập chúng mỗi khi truy cập các trang đó. Bạn nhận ra đây là một rủi ro bảo mật lớn nếu người khác nắm giữ mật khẩu của bạn, do đó, hầu hết các chương trình Unix sẽ không đọc tệp này trừ khi chỉ một mình bạn có thể đọc được (tuy nhiên, curl không quan tâm)Curl hỗ trợ các tệp 159 nếu được yêu cầu (sử dụng các tùy chọn 161/ 162 và 163). Điều này không chỉ giới hạn ở FTP, vì vậy curl có thể sử dụng nó cho tất cả các giao thức sử dụng xác thựcMột tệp 159 đơn giản có thể trông giống như 5Đầu ra tùy chỉnhĐể cho phép các lập trình viên tập lệnh hiểu rõ hơn về tiến trình cuộn tròn, tùy chọn 165/ 166 đã được giới thiệu. Sử dụng điều này, bạn có thể chỉ định thông tin nào từ lần chuyển trước mà bạn muốn trích xuấtĐể hiển thị số byte đã tải xuống cùng với một số văn bản và một dòng mới kết thúc 6Truyền Kerberos FTPCurl hỗ trợ kerberos4 và kerberos5/GSSAPI để truyền FTP. Bạn cần cài đặt và sử dụng gói kerberos tại thời điểm tạo curl để gói này khả dụng Đầu tiên, lấy vé krb theo cách thông thường, như với công cụ 167/ 168. Sau đó sử dụng curl theo cách tương tự như 7Không sử dụng mật khẩu trên công tắc 04, nhưng một mật khẩu trống sẽ khiến curl yêu cầu một mật khẩu và bạn đã nhập mật khẩu thực cho 167/ 168ĐIỆN THOẠIHỗ trợ telnet curl là cơ bản và dễ sử dụng. Curl chuyển tất cả dữ liệu được truyền cho nó trên stdin tới máy chủ từ xa. Kết nối với máy chủ telnet từ xa bằng dòng lệnh tương tự như 8Và nhập dữ liệu để chuyển đến máy chủ trên stdin. Kết quả sẽ được gửi đến thiết bị xuất chuẩn hoặc đến tệp bạn chỉ định với 172Bạn có thể muốn tùy chọn 173/ 174 tắt đầu ra được đệm cho các kết nối chậm hoặc tương tựChuyển các tùy chọn sang đàm phán giao thức telnet, bằng cách sử dụng tùy chọn 175. Để thông báo cho máy chủ, chúng tôi sử dụng thiết bị đầu cuối vt100, hãy thử một cái gì đó như 9Các tùy chọn thú vị khác cho nó 175 bao gồm
GHI CHÚ. Giao thức telnet không chỉ định bất kỳ cách nào để đăng nhập bằng người dùng và mật khẩu được chỉ định nên curl không thể tự động thực hiện điều đó. Để làm điều đó, bạn cần theo dõi thời điểm nhận được lời nhắc đăng nhập và gửi tên người dùng và mật khẩu tương ứng Kết nối liên tụcViệc chỉ định nhiều tệp trên một dòng lệnh sẽ khiến curl chuyển tất cả chúng, lần lượt từng tệp theo thứ tự đã chỉ định libcurl sẽ cố gắng sử dụng các kết nối liên tục cho các lần chuyển để lần chuyển thứ hai đến cùng một máy chủ có thể sử dụng cùng một kết nối đã được bắt đầu và được mở trong lần chuyển trước. Điều này làm giảm đáng kể thời gian kết nối cho tất cả trừ lần truyền đầu tiên và nó giúp sử dụng mạng tốt hơn nhiều Lưu ý rằng curl không thể sử dụng các kết nối liên tục để chuyển được sử dụng trong các lần gọi curl tiếp theo. Cố gắng nhét càng nhiều URL càng tốt vào cùng một dòng lệnh nếu chúng đang sử dụng cùng một máy chủ, vì điều đó sẽ giúp quá trình chuyển nhanh hơn. Nếu bạn sử dụng proxy HTTP để truyền tệp, thực tế tất cả quá trình truyền sẽ liên tục Nhiều lần chuyển với một dòng lệnhNhư đã đề cập ở trên, bạn có thể tải xuống nhiều tệp bằng một dòng lệnh bằng cách thêm nhiều URL hơn. Nếu bạn muốn chúng được lưu vào tệp cục bộ thay vì chỉ được in ra thiết bị xuất chuẩn, bạn cần thêm một tùy chọn lưu cho mỗi URL bạn chỉ định. Lưu ý rằng điều này cũng áp dụng cho tùy chọn 179 (nhưng không phải là 180)Ví dụ. lấy hai tệp và sử dụng 179 cho tệp đầu tiên và tên tệp tùy chỉnh cho tệp thứ hai 00Bạn cũng có thể tải lên nhiều tệp theo cách tương tự 01IPv6curl sẽ kết nối với máy chủ có IPv6 khi tra cứu máy chủ trả về địa chỉ IPv6 và quay lại IPv4 nếu kết nối không thành công. Các tùy chọn 182 và 183 có thể chỉ định địa chỉ nào sẽ sử dụng khi cả hai đều khả dụng. Địa chỉ IPv6 cũng có thể được chỉ định trực tiếp trong URL bằng cú pháp 02Khi kiểu này được sử dụng, tùy chọn 184 phải được cung cấp để ngăn cuộn tròn diễn giải các dấu ngoặc vuông thành các ký tự hình cầu đặc biệt. Liên kết địa chỉ cục bộ và trang web cục bộ bao gồm mã định danh phạm vi, chẳng hạn như 185, cũng có thể được sử dụng, nhưng phần phạm vi phải là số hoặc khớp với giao diện mạng hiện có trên Linux và ký tự phần trăm phải là URL thoát. Ví dụ trước trong URL SFTP có thể giống như 03Địa chỉ IPv6 được cung cấp ngoài URL (e. g. đối với các tùy chọn 14, 187 hoặc 188) không được mã hóa URLDanh sách mailĐể thuận tiện cho bạn, chúng tôi có một số danh sách gửi thư mở để thảo luận về curl, sự phát triển của nó và những thứ liên quan đến điều này. Nhận tất cả thông tin tại https. //Xoăn. se/mail/ Vui lòng chuyển trực tiếp các câu hỏi về curl, yêu cầu tính năng và báo cáo sự cố tới một trong những danh sách gửi thư này thay vì gửi thư cho bất kỳ cá nhân nào danh sách có sẵn bao gồm curl ftp://ftp.funet.fi/README 189Người dùng công cụ dòng lệnh. Cách sử dụng, những gì không hoạt động, các tính năng mới, các công cụ liên quan, câu hỏi, tin tức, cài đặt, biên dịch, chạy, chuyển, v.v. curl ftp://ftp.funet.fi/README 190Nhà phát triển sử dụng hoặc phát triển libcurl. Lỗi, tiện ích mở rộng, cải tiến curl ftp://ftp.funet.fi/README 191lưu lượng truy cập thấp. Chỉ nhận thông báo về các phiên bản công khai mới. Tệ nhất, điều đó tạo ra một hoặc hai thư mỗi tháng, nhưng thường chỉ có một thư mỗi tháng thứ hai |