zoukankan      html  css  js  c++  java
  • curl使用小记(一)

    1. 概述

    curl也就是command line tool and library for transferring data with URLs的缩写,也就是一种通过URL传输数据的命令行工具和库。可以直接通过curl命令行工具进行url协议通迅的相关操作,也可以通过其libcurl库的接口,在自己的程序中进行相同的操作。其支持的协议非常全,而且提供了C的接口,所以很多库和软件都使用libcurl作为url数据传输的底层库。

    2. 实例

    libcurl库的使用还是很繁琐的,所有的操作都可以先用命令行工具curl验证一下。如果是从源代码编译的curl,那么两者都会编译。推荐先找到已经编译好的curl来使用,因为curl对于https的支持是需要ssl的,编译器来稍微有点麻烦。这里主要论述一下curl的使用。

    2.1. 访问网页

    curl最主要的功能就是访问网页了,不过因为是命令行窗口,所以访问的网页的源代码:

    curl https://www.baidu.com
    

    imglink1

    注意这里我访问的是https,当我访问http的时候获取的源代码有点问题,可能是现在很多网站对http的访问会迁移到https造成的。

    2.2. 显示头信息

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

    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来下载网络上的一些资源。

    2.5. 用户代理设置

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

    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设置地址及端口即可:

    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命令使用代理、以及代理种类介绍
  • 相关阅读:
    nginx 注册为服务
    使用Windows Service Wrapper快速创建一个Windows Service
    mongo数据导入导出
    msql数据导入导出
    sql server 数据库之间导入导出数据表
    性能问题核对清单
    常用sqlserver性能分析
    Jmeter压测Mysql示例
    nginx日志定制
    zookeeper集群部署
  • 原文地址:https://www.cnblogs.com/charlee44/p/13125521.html
Copyright © 2011-2022 走看看