curl使用小记(一)

1. 概述

curl也就是command line tool and library for transferring data with URLs的缩写,也就是一种经过URL传输数据的命令行工具和库。能够直接经过curl命令行工具进行url协议通迅的相关操做,也能够经过其libcurl库的接口,在本身的程序中进行相同的操做。其支持的协议很是全,并且提供了C的接口,因此不少库和软件都使用libcurl做为url数据传输的底层库。html

2. 实例

libcurl库的使用仍是很繁琐的,全部的操做均可以先用命令行工具curl验证一下。若是是从源代码编译的curl,那么二者都会编译。推荐先找到已经编译好的curl来使用,由于curl对于https的支持是须要ssl的,编译器来稍微有点麻烦。这里主要论述一下curl的使用。linux

2.1. 访问网页

curl最主要的功能就是访问网页了,不过由于是命令行窗口,因此访问的网页的源代码:服务器

curl https://www.baidu.com

imglink1

注意这里我访问的是https,当我访问http的时候获取的源代码有点问题,多是如今不少网站对http的访问会迁移到https形成的。网络

2.2. 显示头信息

添加-i参数,就显示http response的头信息:curl

curl -i https://www.baidu.com

imglink2

2.3. 保存网页

访问的网页能够经过-o参数保存下来:工具

curl https://www.baidu.com -o 1.html

imglink3

2.4. 下载图片

使用一样的方法能够下载网络上的图片:网站

curl https://cn.bing.com/th?id=OHR.GrandsCausses_EN-CN3335882379_800x480.jpg -o 1.jpg

imglink4
利用这个方法能够经过curl来下载网络上的一些资源。google

2.5. 用户代理设置

用户代理设置也就是请求头的User-Agent,有的网站服务器会屏蔽一些不被容许的客户端去访问它,这个时候能够经过设置User-Agent来访问(提示不要作非法请求,恶意爬虫是违法的):url

curl https://www.sina.com.cn --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

2.6. 代理设置

curl还能够设置经过代理来访问特定的服务器,好比说某些公司的内部网络。代理也包含了不少繁复的种类和知识,我这里只记录一种简单的无需帐号密码的http代理,简单的经过-x或者--proxy设置地址及端口便可:.net

curl --proxy 127.0.0.1:1080 https://www.google.com --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"

3. 参考

  1. curl网站开发指南
  2. 使用wget或curl时 error 403 forbidden
  3. Linux curl命令使用代理、以及代理种类介绍
相关文章
相关标签/搜索