curl使用小记(一)

简介: curl使用小记(一)

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

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

2.2. 显示头信息

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

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

2.3. 保存网页

访问的网页可以通过-o参数保存下来:

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

2.4. 下载图片

使用同样的方法可以下载网络上的图片:

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

利用这个方法可以通过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命令使用代理、以及代理种类介绍

分类: Web开发技术

标签: curl , web

相关文章
|
缓存 运维 监控
10分钟带你了解 Linux 系统中的 Top 命令
`top`命令是Linux系统中用于实时监控系统资源利用率的工具,展示CPU、内存使用情况及进程状态。启动`top`只需在终端输入`top`。默认按CPU使用率排序,可通过`P`、`M`、`T`键改变排序。使用`k`键可结束进程,`d`键调整刷新率,`q`键退出。输出信息包括系统负载、进程状态、内存使用等。通过进程列表,可以观察到每个进程的CPU和内存占用、用户、运行时间等。了解`top`能帮助测试工程师排查性能问题。
|
小程序 数据处理
主流测绘仪器以及数据后处理软件教程
主流测绘仪器以及数据后处理软件教程
939 1
|
安全 算法 物联网
MQTT 安全通信 SSL 双向认证 | 学习笔记
快速学习 MQTT 安全通信 SSL 双向认证
MQTT 安全通信 SSL 双向认证 | 学习笔记
|
11月前
|
XML API 开发者
主流电商亚马逊api数据接口实操
本文详细介绍了亚马逊 API 的实操指南,涵盖 MWS 和 SP-API 的基本使用方法、认证流程及代码示例。内容包括:1) 亚马逊 API 概述,对比 MWS 和 SP-API 的功能与适用场景;2) 注册开发者账号并获取凭证的步骤;3) 使用 Python 调用 MWS 订单 API 和 SP-API 产品信息 API 的示例代码;4) API 调用注意事项,如速率限制、认证机制和错误处理;5) 推荐工具和资源,帮助开发者高效集成和优化代码实现。建议先在沙箱环境测试,确保生产环境稳定运行。
|
10月前
|
JSON API 开发者
亚马逊商品 API接口,开发者详解与使用指南
亚马逊商品 API 是亚马逊平台为开发者提供的接口,支持获取商品信息、价格、库存、用户评价等数据。主要类型包括 Product Advertising API 和 Selling Partner API,适用于电商数据分析与管理。
|
Linux Windows
curl命令使用
curl命令使用
1120 0
curl命令使用
错误: -source 1.7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
错误: -source 1.7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
287 0
|
iOS开发 MacOS Python
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
本篇将详细介绍如何在Mac系统上安装Typora这款简洁高效的Markdown编辑器,并学习Markdown常用语法。通过本篇,用户能够准备好记录学习笔记的工具,并掌握基本的文档编辑与排版技巧,为后续学习提供便利。
692 1
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
|
数据采集 C++
curl使用小记(二)——远程下载一张图片
curl使用小记(二)——远程下载一张图片
878 0
|
Shell Docker 容器
docker给容器分配固定ip
docker给容器分配固定ip
2768 3