Linux实战笔记(一) curl基本使用

简介: Linux实战笔记(一) curl基本使用

正文


1、基本介绍


curl 是一个很强大的命令行工具,主要用于发送和解析网络请求,常规的命令格式如下:

> curl [options...] <url>

基本的用法很简单,难点在于怎样加入合适的参数,发送出一个符合自己预期的“好”请求

下面我们主要来谈谈各个参数的含义和用法


2、常用参数


这里使用 http://www.httpbin.org 进行测试,这个网站可以返回发送的请求体,十分适合练习使用


  • 指定请求方法
> curl -X | --request <method> <url>
> # 发送 GET 请求
> curl -X GET http://www.httpbin.org/get
> # 发送 POST 请求
> curl -X POST http://www.httpbin.org/post


  • 指定请求头
> curl -H | --header <header> <url>
> # 指定 User-Agent 请求头
> curl -H "User-Agent: python-requests/2.20.1" http://www.httpbin.org/get
> # 指定 Referer 请求头
> curl -H "Referer: http://www.httpbin.org" http://www.httpbin.org/get


  • 指定 User-Agent
> curl -A | --user-agent <agent> <url>
> # 修改 User-Agent
> curl -A python-requests/2.20.1 http://www.httpbin.org/get


  • 指定 Referer
> curl -e | --referer <referer> <url>
> # 修改 Referer
> curl -e http://www.httpbin.org http://www.httpbin.org/get


  • 指定 Cookie
> curl -b | --cookie <data> <url>
> # 指定 cookie
> curl -b "username=admin;password=12345" http://www.httpbin.org/cookies/set
> # 在请求 cookies/set 的时候,网站会有一个重定向,所以我们可以加上 `-L` 参数跟随服务器重定向
> curl -b "username=admin;password=12345" -L http://www.httpbin.org/cookies/set


  • 只显示响应头
> curl -I | --head <url>
> # 只显示响应头
> curl -I http://www.httpbin.org/get


  • 同时显示响应头和响应内容
> curl -i | --include <url>
> # 同时显示响应头和响应内容
> curl -i http://www.httpbin.org/get


  • 同时显示响应头和响应内容
> curl -i | --include <url>
> # 同时显示响应头和响应内容
> curl -i http://www.httpbin.org/get


  • 将响应头写入文件
> curl -D | --dump-header <filename> <url>
> # 将响应头写入文件
> curl -D headers.txt http://www.httpbin.org/get


  • 将响应内容写入文件,相当于 wget
> curl -o | --output <filename> <url>
> # 将响应内容写入文件
> curl -o content.txt http://www.httpbin.org/get


  • 发送表单数据,并使用 POST 请求方法
> curl -d | --data <data> <url>
> # 发送表单数据,并使用 POST 请求方法
> curl -d "username=admin" -d "password=12345" http://www.httpbin.org/post


  • 将表单数据放在 URL 中发送,并使用 GET 请求方法
> curl -G | --get <url>
> # 将表单数据放在 URL 中发送,并使用 GET 请求方法
> curl -G -d "username=admin" -d "password=12345" http://www.httpbin.org/get


  • 显示详细信息
> curl --verbose <url>
> # 显示详细信息
> curl --verbose http://www.httpbin.org/get


  • 显示完整过程,输出到指定的文件
> curl --trace <filename> <url>
> # 显示完整过程,输出到指定的文件
> curl --trace trace.txt http://www.httpbin.org/get


  • 指定代理
> curl -x | --proxy <proxy> <url>
> # 指定代理
> curl -x 127.0.0.1:8080 http://www.httpbin.org/get


  • 限制带宽,可以用于模拟慢速网络
> curl --limit-rate <rate> <url>
> # 限制带宽
> curl --limit-rate 100k http://www.httpbin.org/get



目录
相关文章
|
2月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
163 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
2月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
112 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
3月前
|
监控 Linux Shell
30 个实用的 Linux 命令贴与技巧,提升你的效率(附实战案例)
本文介绍了30个实用的Linux命令及其应用场景,帮助你提升命令行操作效率。涵盖返回目录、重新执行命令、查看磁盘使用情况、查找文件、进程管理、网络状态监控、定时任务设置等功能,适合各水平的Linux用户学习和参考。
|
4月前
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
114 2
linux笔记 diff及patch的制作与使用
|
4月前
|
Web App开发 Linux 数据安全/隐私保护
Linux curl命令详解
Linux curl命令详解
|
4月前
|
Linux 文件存储 数据安全/隐私保护
Linux用户组管理实战:创建、管理与删除的全面指南
在 Linux 系统中,用户组管理是实现权限控制和资源共享的关键。本文档详细介绍如何创建用户组、管理用户组成员及查看与删除用户组。首先,通过 `groupadd` 命令创建新用户组,并在 `/etc/group` 文件中记录。接着,利用 `usermod` 和 `gpasswd` 命令来添加或删除用户组成员,其中 `gpasswd` 提供更灵活的管理方式。最后,使用 `getent` 或直接读取 `/etc/group` 查看用户组信息,并通过 `groupdel` 删除空用户组。这些操作有助于高效管理和保护系统资源。
365 4
|
4月前
|
Linux
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
4月前
|
消息中间件 安全 Java
Linux源码阅读笔记13-进程通信组件上
Linux源码阅读笔记13-进程通信组件上
|
4月前
|
Linux 开发者
Linux源码阅读笔记18-插入模型及删除模块操作
Linux源码阅读笔记18-插入模型及删除模块操作
|
4月前
|
数据采集 Linux
Linux源码阅读笔记20-PCI设备驱动详解
Linux源码阅读笔记20-PCI设备驱动详解