在我使用它们的有限时间里, 一直wget==文件下载器==curl
, 但是见许多REST文档中都拿curl做例子,便man curl, 发现其简介如下:
curl is a tool to transfer data from or to a server, using one of the supported
protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE).
The command is designed to work without user interaction.
curl offers a busload of useful tricks like proxy support, user authentication,
FTP upload, HTTP post, SSL connections, cookies, file transfer resume and more.
As you will see below, the number of features will make your head spin!
curl is powered by libcurl for all transfer-related features. See libcurl(3) for
details.
英文浅显易懂, 我想: 功能这么强大, 估计又难免记忆一大堆参数(痛苦)
大家是如何用的?
Linux纯命令行-Server
man curl
man wget
wget
한 문장: 내장된 파일 다운로드 도구
장점:
대부분의 배포판에 내장
간단한 재귀 웹사이트 제거 지원
기본적으로 파일 다운로드, 쓰기에 적합
단점:
일반적으로 다운로드, 게시물 요청 조합, 복잡한 헤더 전송 등에만 사용되며 일반적으로 사용되지 않습니다.
다운로드 기능은 비교적 원시적이며 동시성, P2P, 마그넷 링크 등을 지원하지 않습니다.
컬
한 문장으로 말하면: 내장된 요청 전송 도구 요청 전송 라이브러리
장점:
대부분의 배포판에 내장
어느 정도는 http 요청을 표현하기 위한 기본값입니다(예를 들어 크롬 개발 도구는 컬에 직접 복사할 수 있습니다. 예를 들어 많은 API 인터페이스 문서는 컬 명령을 직접 제공합니다)
Stdout이 기본으로 출력되므로 다른 명령을 쉽게 파이프할 수 있습니다(공통 한 문장 설치
curl xxx | bash
)동시에 libcurl은 안정적이고 일반적으로 사용되는 클래스 라이브러리이므로 다른 프로젝트에 쉽게 통합할 수 있습니다
단점:
다운로드하려면 추가 매개변수가 필요합니다
복잡한 요청을 접합하는 것은 상대적으로 번거롭습니다
httpie
한 문장으로: 최신 http 요청 전송 도구
장점:
json 요청을 연결하는 것이 매우 편리하며 "현대적인" 편안한 인터페이스를 조정하는 데 적합합니다
인터페이스 조정에 적합한 파일을 사용하여 세션 기록(쿠키, 고정 요청 헤더 등) 지원
매개변수가 명확하고 간단하여 빠르게 시작할 수 있습니다
반환된 결과가 강조 표시됩니다
단점:
직접 연기해야 합니다
직접 연기해야 합니다
직접 연기해야 합니다
(단순히 흑마술인 eliangcs/http-prompt 프로젝트도 있습니다)
aria2c
한 문장으로: 최신 다운로드 도구
장점:
마그넷 링크, 동시 다운로드, 다중 소스 다운로드 등 다양한 다운로드 방법을 지원합니다.
서버 모드를 라우터에 설치하면 원격 다운로드가 가능합니다
단점:
직접 연기해야 합니다
직접 연기해야 합니다
직접 연기해야 합니다
개인 행동:
wget은 일반적으로 파일을 다운로드하는 데 사용됩니다
curl은 일반적으로 요청을 시뮬레이션하고 API를 테스트하는 데 사용됩니다
wget: 도구 다운로드
다운로드 속도가 느린 리소스의 경우 브라우저는 다운로드하기 전에 완료되었다고 가정하는 경우가 많습니다.
-T5
HTML 문서 일괄 다운로드:
wget -T 5 -t 10 -Q 500m -nH -r -E -l inf -k -p -np URL
일괄 URL:
wget -i URL列表文件
curl: 디버깅 도구
간단하고 사용하기 쉬우며 어디서나 사용 가능
브라우저의 개발자 도구는 컬 요청으로 복사를 지원합니다