cURL命令详解

这篇具有很好参考价值的文章主要介绍了cURL命令详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

cURL是什么

cURL是用于数据传输的命令行工具,支持多种传输协议,包括HTTP、HTTPS、SCP、FTP、SFTP、TELNET、FILE、SMTP、POP3等等。可以使用cURL进行HTTP/HTTPS请求、上传/下载文件等,且支持Cookie、用户身份验证、代理支持、限速等。

参数解析

curl [options] [URL...]
-A/--user-agent <string> 设定使用者的代理发送给服务器
-b/--cookie <name=string/file> 设置cookie文件的读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到指定文件中
-C/--continue-at <offset> 断点续传
-d/--data "data" 携带HTTP POST请求的data 
-D/--dump-header <file> 把header信息写入到指定文件中
-e/--referer 带入来源网址
-F/ 上传二进制文件,也可以当做-d来用
-H/--header 设定请求头
-i/--include 在输出中显示header
-K:指定配置文件
-L:会让HTTP请求跟随服务器的重定向,curl默认不跟随重定向
-m:限制curl完成时间(overall time limit)
-o/--output 把输出内容写入到指定文件中(重命名),等同于wget命令
-O/--remote-name 把输出内容写入到指定文件中,并保留原文件名
-r/--range <range> 返回HTTP/1.1或FTP服务器响应的指定范围字符
-s/--silent 静默模式,不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设定服务器的用户名和密码
-v/--verbose 输出更多信息,便于debug
-w/--write-out [format] 请求完成后指定输出内容
-x/--proxy <host[:port]> 使用HTTP代理
-X/--request [GET|POST|PUT|DELETE|PATCH]  使用指定的 http method 来发出 http request
-Y:设置下载限速
--dump-header:保存Header限速
--limit-rate:用来限制HTTP请求和回应的带宽,模拟慢网速的环境
--local-port:强制使用指定的本地端口号
--resolve HOST:PORT:ADDRESS  强制将 HOST:PORT 解析到指定的 IP ADDRESS
--trace <file>:输出请求的详细信息
-#/--progress-bar 進度條顯示當前的傳送狀態

直接获取网页内容

curl https://www.baidu.com
curl https://www.baidu.com:80	# 可以带端口号

-A/–user-agent:指定 User-Agent

有时候server会阻止curl的下载请求,这时可以透过修改User-Agent来模拟正常使用者发出的请求,比如模拟谷歌浏览器:

curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" https://www.baidu.com

-b/-c:读取/存储Cookie

# 发出请求时将 cookie_file 中的数据带入请求中
curl -b cookie_file https://www.baidu.com
# 也可以用以下形式传递cookie
curl -b "oraclelicense=accept-securebackup-cookie"  https://www.baidu.com
# 将请求时产生的 cookie 放到 cookie_file 中
curl -c cookie_file https://www.baidu.com

比如使用curl -c cookie_file https://www.baidu.com命令后会在本地生成一个cookie_file 文件,如下:

# Netscape HTTP Cookie File
# https://curl.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

.baidu.com	TRUE	/	FALSE	1678778080	BDORZ	27315

-C:断点续传

C表示Continue-at,文件下载被中断时不需要重新下载整个文件,可以通过-C​​命令继续下载:

  • -C offset:从指定的offset位置开始续传,我自己用这个参数测试时没续传成功过,不太确定如何使用;
  • -C -:让curl自己分析该从什么位置开始续传。

使用以下命令下载文件:

curl -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

下到一半用ctrl + c中断下载,这里显示只下载了8%

[外链图片转存中…(img-szXWh88l-1678796995464)]
打开下到一半的图片如下:

[外链图片转存中…(img-Ghpi1jWd-1678796995465)]

然后使用断点续传接着下载:

curl -C - -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

打开下载完成的图片:

[外链图片转存中…(img-5k8XsVYN-1678796995465)]

-d:携带POST请求的data

curl -X POST -d "name=andrew&age=22" -F "nm=da" https://www.baidu.com
# 将data编码
curl -X POST --data-urlencode "name=andrew age=22" https://www.baidu.com

注意:-d是发送post参数,-F是发送form-data数据,两者不能同时使用,否则会报错:

curl -X POST -d "name=andrew" -F "age=22" https://www.baidu.com
Warning: You can only select one HTTP request method! You asked for both POST
Warning: (-d, --data) and multipart formpost (-F, --form).

-D:把header信息写入到指定文件中

# 把请求返回的header信息写入到header_file文件中
curl -D header_file https://www.baidu.com

-e/–referer:带入来源网址referer

部分server为了避免盗链问题会确认引用源是否来自同一个网站,此时就要欺骗服务器的检查机制来取得相关资源。

curl -e "www.google.com" https://www.baidu.com

当某些连接必须通过301​​或302​​跳转过去时,用auto​​参数来让访问更加拟真:

curl -L -v -e ";auto" https://www.baidu.com

效果如下:

[外链图片转存中…(img-zULWi5wE-1678796995466)]

-F/–form:表单提交

curl -X POST -F 'uid="123456789"' https://www.baidu.com

-H/–header:添加请求头

curl --header 'Content-Type: application/x-www-form-urlencoded' https://www.baidu.com

-i/-I:显示response的header

# -i 返回header和网页内容
curl -i http://www.baidu.com
# -I 只返回header
curl -I http://www.baidu.com

效果如下:

[外链图片转存中…(img-bOwjNapG-1678796995466)]

-K/–config:指定配置文件

# -K后接配置文件名,如果使用 - 符号,则通过stdin输入配置
echo "user = user:passwd" | curl -K - https://www.baidu.com

-L:跟随跳转

通常情况下curl命令不会跟随301302跳转,如果期望跟随跳转可以加上-L参数。

比如我们在访问谷歌或百度时,URL没有加上www前缀,会自动触发301302跳转,我们可以用curl http://google.com/curl https://baidu.com/(注意:这里没有加www前缀)命令来测试一下:

[外链图片转存中…(img-52RE25au-1678796995466)]

[外链图片转存中…(img-Rbo4bIvT-1678796995466)]

看到了吧,这样是无法触发自动跳转的。我们再用curl -L http://google.com/来测试一下:

[外链图片转存中…(img-86Ewe7Yi-1678796995467)]

[外链图片转存中…(img-1RSFgTyq-1678796995467)]

已经触发跳转,能够正常返回html页面了。

注:

现在已经有很多网站不使用www前缀了,这种域名叫做裸域名,比如掘金的https://juejin.cn/

但不管一个网站是否使用裸域名,都要处理一个跳转问题:

  • 如果掘金选择https://juejin.cn/域名,那么它需要设置301跳转如下:

    • https://www.juejin.cn/ => https://juejin.cn/
  • 反之,如果掘金选择了https://www.juejin.cn/域名,那么它需要设置301跳转如下:

    • https://juejin.cn/ => https://www.juejin.cn/

我们可以用curl https://www.juejin.cn/命令测试掘金是否设置了301跳转,如下图:

[外链图片转存中…(img-Z9XFpisa-1678796995467)]

确实是设置了的。

[外链图片转存中…(img-UlNttgfa-1678796995467)]

[外链图片转存中…(img-emiNWQnZ-1678796995467)]

-m:限制完成时间

# 让curl必须在30分钟(1800s)内完成
curl -m 1800 -Y 3000 -y 60 www.far-away-site.com

-o/-O:下载文件

小写的-o代表下载文件并重命名:

curl -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

大写的-O代表下载文件并使用原文件名:

curl -O https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

-r:返回指定范围内的字符

# 返回响应的前100个字符
curl -r 0-99 https://www.baidu.com
# 返回响应的最后500个字符
curl -r -500 https://www.baidu.com

效果如下:

[外链图片转存中…(img-0e3LtcBB-1678796995467)]

-s:减少输出的信息

curl -s http://www.baidu.com

-T:上传文件

发送PUT请求。

# 上传所有的stdin标准输入到server,按ctrl+d结束输入,前提是该server能接收PUT类型的请求
curl -T - ftp://ftp.upload.com/myfile
# 也可以通过管道传递stdin
echo "user = user:passwd" | curl -T - ftp://ftp.upload.com/myfile
# 上传指定文件到server,并指定上传后的文件名为myfile
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile
# 上传指定文件到server,并沿用本地文件名
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/
# -a:使用追加的方式上传文件
curl -T uploadfile -a ftp://ftp.upload.com/myfile

-u:设定用户名和密码

# 比如在访问ftp服务器时需要输入用户名和密码
curl -u name:passwd ftp://machine.domain:port/full/path/to/file

-v:输出完整信息

显示一次http通信的整个过程,通常用于debug

curl -v http://www.baidu.com

效果如下:

[外链图片转存中…(img-f3dol0iF-1678796995467)]

-V:查看curl版本

cur -V

效果如下:

[外链图片转存中…(img-knj36ovF-1678796995468)]

-w:请求完成后显示自定义信息

# 显示响应状态码
curl -w "%{http_code}\n" -i -s -o /dev/null https://www.baidu.com
# 显示响应 content_type
curl -w "%{content_type}\n" -i -s -o /dev/null https://www.baidu.com
# 获取更多信息见文末参考文献2

效果展示:

[外链图片转存中…(img-KuV2xlss-1678796995468)]

-x:使用代理服务器(proxy)

curl -x 192.168.5.1:8888 http://www.baidu.com
# 如果代理服务器需要账号密码,可以使用 -U 或 --proxy-user 来指定
curl -U username:password -x 192.168.5.1:8888 http://www.baidu.com
# 不使用代理访问
curl --noproxy localhost,get.this http://www.baidu.com

-X/–request:指定请求类型

curl --request GET https://www.baidu.com
curl -X POST https://www.baidu.com

-Y/-y:限制下载速度

# 限制curl的下载速度在每秒3000字节以内,保持60秒
curl -Y 3000 -y 60 www.far-away-site.com

–dump-header:保存header信息

# 将返回的header信息保存到header.txt文件中
curl --dump-header header.txt https://www.baidu.com

–limit-rate:限制下载速度

如果想测试下载是否正常又不想占用太多带宽,可以用limit-rate参数做下载限速:

curl --limit-rate 100k -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

注意:该限速只是一个大概的值,不会卡死在指定的速度上。

–local-port:强制使用本地端口号

curl --local-port 8765 https://www.baidu.com

–resolve:强制解析Host为指定IP

curl --resolve www.google.com:443:142.251.35.164 -v https://www.google.com

–trace :输出请求的详细信息

如果用-v还是不能定位问题,可以进一步用--traceascii编码格式将更详细的内容输出到指定文件中,据此来debug

# 将trace信息保存到trace.txt文件中
curl --trace trace.txt https://www.baidu.com

trace.txt文件部分内容如下图所示:

[外链图片转存中…(img-zLJNdjmO-1678796995468)]

-# :展示下载进度

通常在下载文件时配合-o/-O使用:

curl -# -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

效果如下:

[外链图片转存中…(img-cZh5naA8-1678796995469)]

参考文献

  1. curl tutorial
  2. Linux Curl 超詳細教學(常用篇)
  3. curl -w参数详解
  4. everything.curl.dev## cURL是什么

cURL是用于数据传输的命令行工具,支持多种传输协议,包括HTTP、HTTPS、SCP、FTP、SFTP、TELNET、FILE、SMTP、POP3等等。可以使用cURL进行HTTP/HTTPS请求、上传/下载文件等,且支持Cookie、用户身份验证、代理支持、限速等。

参数解析

curl [options] [URL...]
-A/--user-agent <string> 设定使用者的代理发送给服务器
-b/--cookie <name=string/file> 设置cookie文件的读取位置
-c/--cookie-jar <file> 操作结束后把cookie写入到指定文件中
-C/--continue-at <offset> 断点续传
-d/--data "data" 携带HTTP POST请求的data 
-D/--dump-header <file> 把header信息写入到指定文件中
-e/--referer 带入来源网址
-F/ 上传二进制文件,也可以当做-d来用
-H/--header 设定请求头
-i/--include 在输出中显示header
-K:指定配置文件
-L:会让HTTP请求跟随服务器的重定向,curl默认不跟随重定向
-m:限制curl完成时间(overall time limit)
-o/--output 把输出内容写入到指定文件中(重命名),等同于wget命令
-O/--remote-name 把输出内容写入到指定文件中,并保留原文件名
-r/--range <range> 返回HTTP/1.1或FTP服务器响应的指定范围字符
-s/--silent 静默模式,不输出任何东西
-T/--upload-file <file> 上传文件
-u/--user <user[:password]> 设定服务器的用户名和密码
-v/--verbose 输出更多信息,便于debug
-w/--write-out [format] 请求完成后指定输出内容
-x/--proxy <host[:port]> 使用HTTP代理
-X/--request [GET|POST|PUT|DELETE|PATCH]  使用指定的 http method 来发出 http request
-Y:设置下载限速
--dump-header:保存Header限速
--limit-rate:用来限制HTTP请求和回应的带宽,模拟慢网速的环境
--local-port:强制使用指定的本地端口号
--resolve HOST:PORT:ADDRESS  强制将 HOST:PORT 解析到指定的 IP ADDRESS
--trace <file>:输出请求的详细信息
-#/--progress-bar 進度條顯示當前的傳送狀態

直接获取网页内容

curl https://www.baidu.com
curl https://www.baidu.com:80	# 可以带端口号

-A/–user-agent:指定 User-Agent

有时候server会阻止curl的下载请求,这时可以透过修改User-Agent来模拟正常使用者发出的请求,比如模拟谷歌浏览器:

curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" https://www.baidu.com

-b/-c:读取/存储Cookie

# 发出请求时将 cookie_file 中的数据带入请求中
curl -b cookie_file https://www.baidu.com
# 也可以用以下形式传递cookie
curl -b "oraclelicense=accept-securebackup-cookie"  https://www.baidu.com
# 将请求时产生的 cookie 放到 cookie_file 中
curl -c cookie_file https://www.baidu.com

比如使用curl -c cookie_file https://www.baidu.com命令后会在本地生成一个cookie_file 文件,如下:

# Netscape HTTP Cookie File
# https://curl.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.

.baidu.com	TRUE	/	FALSE	1678778080	BDORZ	27315

-C:断点续传

C表示Continue-at,文件下载被中断时不需要重新下载整个文件,可以通过-C​​命令继续下载:

  • -C offset:从指定的offset位置开始续传,我自己用这个参数测试时没续传成功过,不太确定如何使用;
  • -C -:让curl自己分析该从什么位置开始续传。

使用以下命令下载文件:

curl -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

下到一半用ctrl + c中断下载,这里显示只下载了8%

curl 跟随跳转,服务器,http,linux

打开下到一半的图片如下:

curl 跟随跳转,服务器,http,linux

然后使用断点续传接着下载:

curl -C - -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

打开下载完成的图片:

curl 跟随跳转,服务器,http,linux

-d:携带POST请求的data

curl -X POST -d "name=andrew&age=22" -F "nm=da" https://www.baidu.com
# 将data编码
curl -X POST --data-urlencode "name=andrew age=22" https://www.baidu.com

注意:-d是发送post参数,-F是发送form-data数据,两者不能同时使用,否则会报错:

curl -X POST -d "name=andrew" -F "age=22" https://www.baidu.com
Warning: You can only select one HTTP request method! You asked for both POST
Warning: (-d, --data) and multipart formpost (-F, --form).

-D:把header信息写入到指定文件中

# 把请求返回的header信息写入到header_file文件中
curl -D header_file https://www.baidu.com

-e/–referer:带入来源网址referer

部分server为了避免盗链问题会确认引用源是否来自同一个网站,此时就要欺骗服务器的检查机制来取得相关资源。

curl -e "www.google.com" https://www.baidu.com

当某些连接必须通过301​​或302​​跳转过去时,用auto​​参数来让访问更加拟真:

curl -L -v -e ";auto" https://www.baidu.com

效果如下:

curl 跟随跳转,服务器,http,linux

-F/–form:表单提交

curl -X POST -F 'uid="123456789"' https://www.baidu.com

-H/–header:添加请求头

curl --header 'Content-Type: application/x-www-form-urlencoded' https://www.baidu.com

-i/-I:显示response的header

# -i 返回header和网页内容
curl -i http://www.baidu.com
# -I 只返回header
curl -I http://www.baidu.com

效果如下:

curl 跟随跳转,服务器,http,linux

-K/–config:指定配置文件

# -K后接配置文件名,如果使用 - 符号,则通过stdin输入配置
echo "user = user:passwd" | curl -K - https://www.baidu.com

-L:跟随跳转

通常情况下curl命令不会跟随301302跳转,如果期望跟随跳转可以加上-L参数。

比如我们在访问谷歌或百度时,URL没有加上www前缀,会自动触发301302跳转,我们可以用curl http://google.com/curl https://baidu.com/(注意:这里没有加www前缀)命令来测试一下:

curl 跟随跳转,服务器,http,linux
curl 跟随跳转,服务器,http,linux
看到了吧,这样是无法触发自动跳转的。我们再用curl -L http://google.com/来测试一下:

curl 跟随跳转,服务器,http,linux
curl 跟随跳转,服务器,http,linux

已经触发跳转,能够正常返回html页面了。

注:

现在已经有很多网站不使用www前缀了,这种域名叫做裸域名,比如掘金的https://juejin.cn/

但不管一个网站是否使用裸域名,都要处理一个跳转问题:

  • 如果掘金选择https://juejin.cn/域名,那么它需要设置301跳转如下:

    • https://www.juejin.cn/ => https://juejin.cn/
  • 反之,如果掘金选择了https://www.juejin.cn/域名,那么它需要设置301跳转如下:

    • https://juejin.cn/ => https://www.juejin.cn/

我们可以用curl https://www.juejin.cn/命令测试掘金是否设置了301跳转,如下图:

curl 跟随跳转,服务器,http,linux

确实是设置了的。

curl 跟随跳转,服务器,http,linux
curl 跟随跳转,服务器,http,linux

-m:限制完成时间

# 让curl必须在30分钟(1800s)内完成
curl -m 1800 -Y 3000 -y 60 www.far-away-site.com

-o/-O:下载文件

小写的-o代表下载文件并重命名:

curl -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

大写的-O代表下载文件并使用原文件名:

curl -O https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

-r:返回指定范围内的字符

# 返回响应的前100个字符
curl -r 0-99 https://www.baidu.com
# 返回响应的最后500个字符
curl -r -500 https://www.baidu.com

效果如下:

curl 跟随跳转,服务器,http,linux

-s:减少输出的信息

curl -s http://www.baidu.com

-T:上传文件

发送PUT请求。

# 上传所有的stdin标准输入到server,按ctrl+d结束输入,前提是该server能接收PUT类型的请求
curl -T - ftp://ftp.upload.com/myfile
# 也可以通过管道传递stdin
echo "user = user:passwd" | curl -T - ftp://ftp.upload.com/myfile
# 上传指定文件到server,并指定上传后的文件名为myfile
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/myfile
# 上传指定文件到server,并沿用本地文件名
curl -T uploadfile -u user:passwd ftp://ftp.upload.com/
# -a:使用追加的方式上传文件
curl -T uploadfile -a ftp://ftp.upload.com/myfile

-u:设定用户名和密码

# 比如在访问ftp服务器时需要输入用户名和密码
curl -u name:passwd ftp://machine.domain:port/full/path/to/file

-v:输出完整信息

显示一次http通信的整个过程,通常用于debug

curl -v http://www.baidu.com

效果如下:

curl 跟随跳转,服务器,http,linux

-V:查看curl版本

cur -V

效果如下:

curl 跟随跳转,服务器,http,linux

-w:请求完成后显示自定义信息

# 显示响应状态码
curl -w "%{http_code}\n" -i -s -o /dev/null https://www.baidu.com
# 显示响应 content_type
curl -w "%{content_type}\n" -i -s -o /dev/null https://www.baidu.com
# 获取更多信息见文末参考文献2

效果展示:

curl 跟随跳转,服务器,http,linux

-x:使用代理服务器(proxy)

curl -x 192.168.5.1:8888 http://www.baidu.com
# 如果代理服务器需要账号密码,可以使用 -U 或 --proxy-user 来指定
curl -U username:password -x 192.168.5.1:8888 http://www.baidu.com
# 不使用代理访问
curl --noproxy localhost,get.this http://www.baidu.com

-X/–request:指定请求类型

curl --request GET https://www.baidu.com
curl -X POST https://www.baidu.com

-Y/-y:限制下载速度

# 限制curl的下载速度在每秒3000字节以内,保持60秒
curl -Y 3000 -y 60 www.far-away-site.com

–dump-header:保存header信息

# 将返回的header信息保存到header.txt文件中
curl --dump-header header.txt https://www.baidu.com

–limit-rate:限制下载速度

如果想测试下载是否正常又不想占用太多带宽,可以用limit-rate参数做下载限速:

curl --limit-rate 100k -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

注意:该限速只是一个大概的值,不会卡死在指定的速度上。

–local-port:强制使用本地端口号

curl --local-port 8765 https://www.baidu.com

–resolve:强制解析Host为指定IP

curl --resolve www.google.com:443:142.251.35.164 -v https://www.google.com

–trace :输出请求的详细信息

如果用-v还是不能定位问题,可以进一步用--traceascii编码格式将更详细的内容输出到指定文件中,据此来debug

# 将trace信息保存到trace.txt文件中
curl --trace trace.txt https://www.baidu.com

trace.txt文件部分内容如下图所示:

curl 跟随跳转,服务器,http,linux

-# :展示下载进度

通常在下载文件时配合-o/-O使用:

curl -# -o forest.jpg https://lmg.jj20.com/up/allimg/1114/0406210Z024/2104060Z024-5-1200.jpg

效果如下:

curl 跟随跳转,服务器,http,linux文章来源地址https://www.toymoban.com/news/detail-524077.html

参考文献

  1. curl tutorial
  2. Linux Curl 超詳細教學(常用篇)
  3. curl -w参数详解
  4. everything.curl.dev

到了这里,关于cURL命令详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • apipost和curl收不到服务器响应的HTTP/1.1 404 Not Found

    windows的apipost发送请求后,服务器响应了HTTP/1.1 404 Not Found,但是apipost一直显示发送中。 linux上的curl也一样。 使用wireshark抓包发现收到了响应,但是wireshark识别不了(图中是回应404后关闭了连接): 第一个报文是HTTP/1.1 404 Not Found响应,但并没有识别出来,wireshark认为是一个

    2024年01月25日
    浏览(53)
  • php:如何在curl方式下url请求域名使用指定ip地址来访问某个服务器

            最近遇到一个问题,就是如何在curl请求某个域名的时候,可以指定某个ip访问,因为很多时候咱们的域名对应的是集群,会有很多服务器ip,并不一定是刚好访问到你想要的服务器,那么该如何解决呢? 例如:正常情况下,假设我们这样发送请求,如何指定访问

    2024年02月15日
    浏览(84)
  • Linux服务器上传文件到阿里云oss对象存储的两种方法ossutil、curl

    ossutil支持在Windows、Linux、macOS等系统中运行,您可以根据实际环境下载和安装合适的版本。 安装过程中,需要使用解压工具(unzip、7z)解压软件包,请提前安装其中的一个解压工具。 yum -y install unzip Linux系统一键安装 sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo b

    2024年02月13日
    浏览(66)
  • WEB通讯技术。前端实现SSE长连接,nodejs+express搭建简单服务器,进行接口调试,通过curl请求数据

    长连接(Keep-Alive)是一种HTTP/1.1的持久连接技术,它允许客户端和服务器在一次TCP连接上进行多个HTTP请求和响应,而不必为每个请求/响应建立和断开一个新的连接。长连接有助于减少服务器的负载和提高性能。 长连接的HTTP请求方法与普通HTTP请求方法相同,可以使用GET、P

    2024年02月09日
    浏览(53)
  • cURL命令详解

    cURL 是用于数据传输的命令行工具,支持多种传输协议,包括HTTP、HTTPS、SCP、FTP、SFTP、TELNET、FILE、SMTP、POP3等等。可以使用 cURL 进行 HTTP/HTTPS 请求、上传/下载文件等,且支持 Cookie 、用户身份验证、代理支持、限速等。 有时候 server 会阻止 curl 的下载请求,这时可以透过修改

    2024年02月12日
    浏览(46)
  • linux 命令 curl 详解

    curl 是一个命令行访问URL的计算机逻辑语言的工具,发出网络请求,然后得到数据并提取出,显示在标准输出 stdout 上面; 可以用它来构造http request报文, curl(CommandLine Uniform Resource Locator) ,即在命令行中利用URL进行数据或者文件传输; 支持的协议包括 ( DICT, FILE, FTP, FTPS, GOPHER

    2024年02月04日
    浏览(47)
  • Linux系统中curl命令用法详解

            在Linux系统中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款强大的http命令行工具。它支持文件的上传和下载,是综合传输工具。         curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。     

    2024年01月24日
    浏览(44)
  • Linux 从入门到精通:curl 命令使用详解

    curl 命令是一个在 Linux 系统中利用 URL 工作的命令行文件传输工具,常用于服务访问和文件下载。curl 支持 HTTP、HTTPS、FTP 等多种协议(默认是 HTTP 协议),可用于模拟服务请求以及上传和下载文件。 1.1 安装命令 并非所有系统都自带 curl 命令,对于简洁版的 Linux 系统,可以使

    2024年02月07日
    浏览(45)
  • linux curl命令使用教程(curl指令)

    curl是一个用于发送HTTP请求的命令行工具,它支持多种协议,包括HTTP、HTTPS、FTP、SMTP等。curl可以用来下载文件、上传文件、发送POST请求、发送表单数据等。 curl的基本用法如下: 其中,URL是要请求的网址或者文件的URL。 常用的选项包括: -o, --output file :将下载的文件保存到

    2024年02月09日
    浏览(49)
  • Python执行Curl命令

    最近想用Python爬取IBM X-Force的漏洞数据,在发现该网站提供免费的API后,便开始尝试使用该API直接获取数据。 但是在使用API的时候遇到了一个小问题,它提供的使用案例是以Curl命令的格式给出的: 如果直接使用Python的pycurl库来执行Curl命令的话过于麻烦且啰嗦,因此我尝试用

    2024年02月13日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包