分类 cURL 下的文章

“cURL是一个开源项目,主要的产品是curl和libcurl,两者功能均是:基于网络协议,对指定URL进行网络传输。 cURL涉及是任何网络协议传输,不涉及对具体数据的具体处理。”

下载 高速公路年度发展报告2021
001.jpg

curl 'https://book.yunzhan365.com/wkmya/muml/files/mobile/[1-124].jpg'   -H 'authority: book.yunzhan365.com'   -H 'sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"'   -H 'sec-ch-ua-mobile: ?0'   -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36'   -H 'accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8'   -H 'sec-fetch-site: same-origin'   -H 'sec-fetch-mode: no-cors'   -H 'sec-fetch-dest: image'   -H 'referer: https://book.yunzhan365.com/wkmya/muml/mobile/index.html'   -H 'accept-language: zh-CN,zh;q=0.9'   -H 'cookie: sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2217a0e582ca111ac-06e58c91b95692-3c710e58-1430715-17a0e582ca2110a%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2217a0e582ca111ac-06e58c91b95692-3c710e58-1430715-17a0e582ca2110a%22%7D; Hm_lvt_7fafaf8b8dc670c2109d0bbddc8be7e0=1623738298; Qs_lvt_323391=1623738298; Qs_pv_323391=309891294092990200%2C1997975047369361700%2C477389241827979800%2C3537689015888066000%2C4525915336882614300'   --compressed -O

curl使用保留符号[]和{}进行通配,它们一般不是合法URL的组成部分(IPv6地址除外),同时可以使用-g或--globoff禁用它。

可以使用[N-M]语法来指定一个数值范围,N为起始,M为结束(包括M):

curl -O http://example.com/[1-100].png

可以使用0作为前缀,如三位数的数字:

curl -O http://example.com/[001-100].png

如果只想请求数字为偶数的图像,可以使用步进(step counter):

curl -O http://example.com/[0-100:2].png

同时也可以处理字母范围:

curl -O http://example.com/section[a-z].html

如果需要采用列表,则需要将其放在花括号中,而不是中括号中:

curl -O http://example.com/{one,two,three,alpha,beta}.html

同时可以混用不同的组合:

curl -O http://example.com/{Ben, Alice, Frank}-{100*100, 1000*1000}.jpg
curl -O http://example.com/chess-[0-7]x[0-7].jpg

如果正在下载多个文件,并希望将它们保存在不同的子目录中,或者以不同的名称保存文件。curl可以采用输出文件名变量。URL中的每个通配都对应一个单独的变量,可以通过'#[num]'来引用,即在‘#’后面跟上与通配符对应的数字,从1(对应第一个通配)开始,到最后一个结束,如:

curl http://{one, two}.example.com -o "file_#1.txt"
curl http://{site, host}.host[1-5].example.com -o "subdir/#1_#2"

linux 合并所有图片到pdf文件

sudo apt install imagemagick

修改/etc/ImageMagick-6/policy.xml文件中
<policy domain="coder" rights="none" pattern="PDF" />

<policy domain="coder" rights="read | write" pattern="PDF" />

convert *.jpg -auto-orient pictures.pdf

convert `ls -1v *.jpg` file.pdf