curl是利用URL语法在命令行方式下工作的开源文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。

一.windows下curl的安装

1.      到这里 http://curl.haxx.se/download/ 下载文件curl-7.17.1-win32-ssl.zip,如果不需要使用ssl的话,可以直接下载curl-7.17.1-win32-nossl.zip,并且直接就可以使用。为了便于以后请求https格式的网址,我们最好使用带ssl功能的。

2.      在Windows下为了使用带ssl的curl命令,我们得安装OpenSSL,到 http://www.slproweb.com/products/Win32OpenSSL.html 这里下载Win32OpenSSL_Light-1_0_1h.exe,安装即可。

3.      接下来打开cmd,切换到curl目录下,就可以直接使用curl命令了。

二.curl基本命令行

1.查看网页源码,以www.sina.com为例

要想保存这个文件就使用

curl -o [文件名] www.sina.com

2.只显示头信息

想同时显示头信息和源码就使用

curl -i www.sina.com 结果如图

3.显示通信过程(ip地址,端口号)

想看更详细的就使用

curl --trace output.txt www.sina.com

打开output.txt文件就有相关信息

4.发送表单信息

发送表单信息有GET和POST两种方法。GET方法相对简单,只要把数据附在网址后面就行。

curl example.com/form.cgi?data=xxx

POST方法必须把数据和网址分开,curl就要用到--data参数。

curl --data "data=xxx" example.com/form.cgi

5.文件上传

假如我们下了个这样的表单

<form method="POST" enctype='multipart/form-data' action="upload.cgi">

<input type=file name=upload>

<input type=submit name=press value="OK">

</form>

就可以使用

curl --form upload=@localfilename --form press=OK [URL]

6.文件下载

假如下载一张图片

想要按照服务器上的文件名自动存在本地只要把小写的o改成大写的O,去掉自己加的文件名就行了

如果下载中途掉线了,还可以使用命令续传

curl -c -O http://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG

7.User Agent字段

这个字段是用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同设备,返回不同格式的网页,比如手机版和桌面版。

curl --user-agent "[User Agent]" [URL]

8.cookie

使用--cookie参数,可以让curl发送cookie。

curl --cookie "name=xxx" www.example.com

9.增加头信息

有时需要在http request之中,自行增加一个头信息。--header参数就可以起到这个作用。

curl --header "Content-Type:application/json" http://example.com

windows下curl的安装和简单使用的更多相关文章

  1. Windows下Anaconda的安装和简单使用

    Windows下Anaconda的安装和简单使用 Anaconda is a completely free Python distribution (including for commercial ...

  2. Windows下 OpenSSL的安装与简单使用

    1. openssl的最新版本 最新版本是 openssl1.1.1 官方地址 https://www.openssl.org/source/ TLS1.3的协议(RFC8446)在2018.8.12 ...

  3. windows下Anaconda的安装与配置正解

    一.下载anaconda 第一步当然是下载anaconda了,官方网站的下载需要用迅雷才能快点,或者直接到清华大学镜像站下载. 清华大学提供了镜像,从这个镜像下载速度很快,地址: https://mi ...

  4. coreseek实战(一):windows下coreseek的安装与测试

    coreseek实战(一):windows下coreseek的安装与测试 网上关于 coreseek 在 windows 下安装与使用的教程有很多,官方也有详细的教程,这里我也只是按着官方提供的教程详 ...

  5. Mysql在windows下的免安装配置步骤和重新安装的步骤

    windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...

  6. DEDECMS最新5.7版在Windows下的Memcache安装

    一,织梦后台后台设置进入系统后台,在[系统基本参数]下面的"性能选项"卡当中,关于memcache进行如下配置: cfg_memcache_enable : 是否启用memcach ...

  7. windows下VMware-workstation中安装CentOS

    windows下VMware-workstation中安装CentOS,可以分两部分,安装虚拟机和安装CentOS虚拟机.具体步骤如下: 一.安装虚拟机 1.安装VMware-workstation, ...

  8. windows下nodejs express安装及入门网站,视频资料,开源项目介绍

    windows下nodejs express安装及入门网站,视频资料,开源项目介绍,pm2,supervisor,npm,Pomelo,Grunt安装使用注意事项等总结 第一步:下载安装文件下载地址: ...

  9. windows下python3.6安装pycryto or crypto or pycryptodome与使用

    pycrypto,pycrytodome和crypto是一个东西,在很久以前,crypto在python上面的名字是pycrypto它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库: w ...

随机推荐

  1. 查询sql语句的执行时间

    我们开启执行计划来看sql语句的执行效率,看下索引是否使用等 但是执行计划没有告诉我们执行时间,刚刚看了一个代码,可以自己计算执行时间的 Declare @d Datetime      Set @d ...

  2. mysql 远程登录与表名大小写问题

    好久没写博客了,这段时间在学习一个开源的项目,里面使用到了mysql,好久没使用mysql了.在使用过程中遇到了一个问题,远程登陆.报错信息很明显,连接失败.解决思路如下: 1. 首先检查到服务器网络 ...

  3. 检测评价函数 IOU

    在目标检测的评价体系中,有一个参数叫做 IoU(intersection-over-union),简单来讲就是模型产生的目标窗口和原来标记窗口的交叠率.具体我们可以简单的理解为: 即检测结果(Dete ...

  4. 《图解HTTP》阅读笔记--第二章 简单的HTTP协议--第三章 HTTP报文信息

     第二章.简单的HTTP协议HTTP协议:HTTP协议用于客户端(请求资源的一端)和服务器端(响应回复提供资源的一端)的通信,是一种无状态协议HTTP1.1默认TCP持久连接,管线化发送(并行发送多个 ...

  5. Docker部署MySql应用

    1. MySQL部署 1.1拉取MySQL镜像 docker pull mysql 查看镜像 docker images 1.2创建MySQL容器 docker run -di --name piny ...

  6. flask-SocketIO

    本文来源:https://www.jianshu.com/p/d81397edd2b1 websocket是html5中实现了服务端和客户端进行双向文本或二进制数据通信的一种新协议,其实已经低于HTT ...

  7. Spring注解实现定时功能以及Quartz定时器

    一:Spring注解实现--------->Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz 1:maven配置: <!-- quartz--> <d ...

  8. Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)

    Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...

  9. 关于 java中的SecureRandom在linux中每次生成不同结果

    使用AES算法的时候,会发现下面的代码在windows每次产生确定的结果,但Linux就不同,导致无法正确解密 public static String encrypt(String content, ...

  10. unittest框架

    在我们真正的编写测试用例之前,我们需要了解一下测试框架. unittest是python自带的单元测试框架,尽管其主要是为单元测试服务的,但我们也可以用它来做接口的自动化测试. unittest框架为 ...