首页 > 其他分享 >从基础到高级,带你深入了解和使用curl命令(一)

从基础到高级,带你深入了解和使用curl命令(一)

时间:2024-04-03 19:12:41浏览次数:30  
标签:baidu www -- 高级 URL 深入 使用 curl

前言

在网络通信和数据传输中,curl命令是一个功能强大且广泛使用的工具。它可以与各种协议进行通信,如HTTP、HTTPS、FTP等,并支持各种操作,如下载文件、发送请求、测试API等。本文将从基础开始,介绍curl命令的基本用法,然后深入探讨其高级功能和实用技巧。

curl简介

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是命令行(commandline)的 URL 工具的意思,它非常强大,拥有很多参数,能够实现各种功能,可以这么说,postman能做到的,curl也能做到。curl的基本语法如下:

curl [options] [URL...]

其中,options是一系列选项,用于配置curl的行为,URL是目标资源的地址。

常见的选项如下:

-A/--user-agent <string>             设置用户代理发送给服务器
-b/--cookie <name=string/file>    	 cookie字符串或文件读取位置
-c/--cookie-jar <file>               操作结束后把cookie写入到这个文件中
-C/--continue-at <offset>            断点续转
-D/--dump-header <file>              把header信息写入到该文件中
-e/--referer                         来源网址
-f/--fail                            连接失败时不显示http错误
-o/--output                          把输出写到该文件中
-O/--remote-name                     把输出写到该文件中,保留远程文件的文件名
-r/--range <range>                   检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent                          静音模式。不输出任何东西
-T/--upload-file <file>              上传文件
-u/--user <user[:password]>          设置服务器的用户和密码
-w/--write-out [format]              什么输出完成后
-x/--proxy <host[:port]>             在给定的端口上使用HTTP代理
-#/--progress-bar                    进度条显示当前的传送状态

curl基本使用示例

  1. 请求网址 curl url

如下:

curl www.baidu.com

  1. 保存访问的网页
  • 使用重定向功能保存curl URL >> filename.html
curl http://www.baidu.com >> baidu.html

如下图:

  • 使用curl的内置选项 -o (小写) 保存网页curl -o filename.html URL
curl -o baidu.html http://www.baidu.com

如下图:

  1. 指定代理服务器及其端口

很多时候上网需要用到代理服务器(比如是使用代理服务器上网或者因为使用 curl 别人网站而被别人屏蔽IP地址的时候),我们可以通过使用curl内置option:-x 来支持设置代理,如下:

curl -x 192.168.100.100:1080 http://www.baidu.com
  1. 模仿浏览器

有些网站需要使用特定的浏览器去访问他们,有些还需要使用某些特定的版本。curl内置option: -A 可以让我们指定浏览器去访问网站:

curl -A "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.0)" https://www.ceshiren.com

总结

本文主要介绍了curl命令的一些简单用法,比如请求网址,使用代理访问等操作,后续我们将介绍curl命令使用cookie,以及发送请求,下载/上传文件等操作。

标签:baidu,www,--,高级,URL,深入,使用,curl
From: https://www.cnblogs.com/hogwarts/p/18113366

相关文章

  • 从基础到高级,带你深入了解和使用curl命令(二)
    前言之前我们介绍了curl命令的请求网络,设置代理等操作,本文我们继续来介绍curl命令的操作,本文我们将会介绍curl命令中有关cookie的操作。获取cookie要获取服务器发送的Cookie,可以使用curl命令的-c选项,将Cookie保存到文件中。例如:curl-ccookiec.txthttp://www.baidu.com......
  • 深入iPhone GPU:探索其性能和架构
    摘要了解你的显卡对于在电脑上玩现代图形要求高的游戏非常重要。本文介绍了如何轻松查看你的显卡型号以及为什么显卡在玩电脑游戏时如此关键。引言随着电脑游戏的发展,现代游戏对硬件性能的要求越来越高。十年前发布的显卡已经无法满足当前游戏的需求。因此,了解你的显卡......
  • MySQL数据库:第十六章:sql高级函数,和腾讯大牛的技术面谈
    CURDATE()或CURRENT_DATE()返回当前的日期CURTIME()或CURRENT_TIME()返回当前的时间DATE_ADD(date,INTERVALintkeyword)返回日期date加上间隔时间int的结果(int必须按照关键字进行格式化),如:SELECTDATE_ADD(CURRENT_DATE,INTERVAL6MONTH);DATE_FORMAT(date,fmt......
  • 银河麒麟高级服务器操作系统(AMD64版)V10 7
    银河麒麟高级服务器操作系统(AMD64版)V10部署发布.NETframeworkWebFroms项目下载ios镜像麒麟生态官网下载:https://eco.kylinos.cn/找到需要下载的镜像,注意版本,电脑是国产芯片的看一下对应的版本下载,AMD和Intel芯片下载AMD版的或者点击下面地址直接下载https://distro-imag......
  • 深入理解ThreadLocal原理
    目录1-什么是ThreadLocal?2-ThreadLocal的作用?ThreadLocal实现线程间资源隔离ThreadLocal实现线程内资源共享3-ThreadLocal原理3-1ThreadLocalMap3-2ThreadLocalMap的扩容......
  • 深入理解数据结构第二弹——二叉树(2)——堆排序及其时间复杂度
    看这篇前请先把我上一篇了解一下:深入理解数据结构第一弹——二叉树(1)——堆-CSDN博客前言:相信很多学习数据结构的人,都会遇到一种情况,就是明明最一开始学习就学习了时间复杂度,但是在后期自己写的程序或者是做到哪个需要判断时间复杂度的题时,仍然判断不出来时间复杂度是多少,今......
  • GPT-5:更强的ChatGPT!将在高级推理功能上实现重大进步!GPT-5有哪些功能作用?
    自Claude3发布以来,外界对GPT-5的期待越来越强。毕竟Claude3已经全面超越了GPT-4,成为迄今为止最强大模型。对于即将发布的GPT-5,有哪些期待?目前来说,GPT-5的将具备哪些新能力?GPT-5性能进步:GPT-5在高级推理功能上可以实现重大进步,性能改进将超出当前的预期,是类似GPT-3......
  • 掌握Go语言:Go语言类型转换,解锁高级用法,轻松驾驭复杂数据结构(30)
    在Go语言中,类型转换不仅仅局限于简单的基本类型之间的转换,还可以涉及到自定义类型、接口类型、指针类型等的转换。以下是Go语言类型转换的高级用法详解:Go语言类型转换的高级用法1.自定义类型之间的转换在Go语言中,可以使用类型别名或自定义类型来创建新的数据类型。自定......
  • 【攻防技术系列】 linux没有curl / wget如何实现下载功能 ( 测试成功版 )
    最近在分析挖矿木马,发现挖矿木马在入侵后都会对系统自带的部分命令进行替换或劫持。最常见的就是将wget和curl命令重命名。在多个挖矿木马同时竞争的情况下,没有wget和curl该如何远程下载挖矿脚本呢?直接看挖矿脚本是如何实现的。这里面涵盖了很多知识点,非常值得学习!funct......
  • 深入理解数据结构——堆
     前言:在前面我们已经学习了数据结构的基础操作:顺序表和链表及其相关内容,今天我们来学一点有些难度的知识——数据结构中的二叉树,今天我们先来学习二叉树中堆的知识,这部分内容还是非常有意思的,下面我们就开始慢慢学习准备工作:本人习惯将文件放在test.c、SeqList.c、SeqList......