BingoStack

Long way to full stack!


  • 首页

  • 标签

  • 分类

  • 归档

Linux下cURL使用教程之四:curl基本使用实例

发表于 2012-08-02 | 更新于: 2020-11-03 | 分类于 curl
字数统计: 1.3k | 阅读时长 ≈ 6

本篇主要结合编写的PHP程序实例对上篇curl基本使用进行具体说明。

环境搭建

HTTP服务器

建议Ubuntu+Apache+PHP,方便简洁:

sudo apt-get install apache2 php5

即可。

网页

以下为测试使用的服务器端代码,全部使用php实现。

  • curldemo.php,用于输出User-Agent、Referer、Cookie信息:
    <html>
    <head>
    <title>
    PHP Demo for curl basic usage By Stackeye
    </title>
    </head>
    <body>
    <?php
    echo "<strong>User-Agent:</strong><br>".$_SERVER['HTTP_USER_AGENT']."<br>\n";
    if(isset($_SERVER['HTTP_REFERER']))
    {
    echo "<strong>Referer:</strong><br>".$_SERVER['HTTP_REFERER']."<br>\n";
    }
    if(isset($_COOKIE['user']))
    {
    echo "<strong>Cookie:</strong><br>user=".$_COOKIE['user']."<br>\n";
    setcookie("user","",time()-1);
    }
    ?>
    <br><br><br>
    <a href="http://www.stackeye.com" target="_blank">Stackeye's Blog</a>
    </body>
    </html>
阅读全文 »

Linux下cURL使用教程之三:curl基本使用

发表于 2012-08-01 | 更新于: 2020-11-03 | 分类于 curl
字数统计: 1.3k | 阅读时长 ≈ 5

在介绍完cURL简介和需要的HTTP协议概述之后。终于可以回归正题,进入curl的使用方法。

curl命令格式

基本的使用用法如下:
curl [选项] [URL...]

GET一个网页

curl http://www.baidu.com
网页源码将被打印出来。

-o/--output <file>指定保存目录

为便于后续处理,我们将网页内容保存在文件中:
curl -o stackeye.html http://www.stackeye.com
此时仍会显示进度条等信息。

-s/--silent静默模式

通过脚本结合curl可以实现很复杂的功能,而在脚本中调用curl,我们不需要进度条等信息。如执行:
curl -s -o stackeye.html http://www.stackeye.com
将不会显示任何信息。

阅读全文 »

Linux下cURL使用教程之二:HTTP协议概述

发表于 2012-07-28 | 更新于: 2020-11-03 | 分类于 curl
字数统计: 1.9k | 阅读时长 ≈ 7

虽然cURL支持多种协议,但日常我们最常用的还是HTTP协议,下文中着重介绍HTTP的相关使用方法,因此我们要对HTTP协议有所了解。

HTTP,超文本传送协议,通过因特网传送万维网文档的数据传送协议。

我们访问一个网页的实际过程如下:

客户端C===HTTP请求===>服务端S:GET index.html http/1.1
客户端C<==HTTP响应====服务端S:HTTP/1.1 200 OK HTML文件内容

HTTP协议本身是个无状态协议,它不像其他基于会话的协议那样去不断追踪、记忆事务处理过程。而它要做的就只是简单的:

连接=>发起HTTP请求(HTTP Request)=>得到HTTP响应(HTTP Response)=>断开连接

而平常我们通过浏览器浏览网页这个过程,浏览器自动完成发送HTTP请求及对服务端应答的数据进行解析的工作,从而将网页呈现给我们。

我们使用cURL要做的就是模仿浏览器的动作,因此要对HTTP请求的格式进行进一步的解析。

HTTP请求

在你向HTTP服务器请求一个资源(比如简单的使用浏览器打开一个网页),TCP三次握手建立连接后,HTTP请求发出。
HTTP请求信息由3部分组成:

l 请求行(Request Line)
l 请求头(Request Header)
l 请求正文(Message Body)

阅读全文 »

Linux下cURL使用教程之一:cURL简介

发表于 2012-07-28 | 更新于: 2020-11-03 | 分类于 curl
字数统计: 491 | 阅读时长 ≈ 1

随着网络应用的盛行,HTTP脚本编程成为一项流行的技术:
你可能需要到某个web页面自动的下载一些信息(采集)或请求某个接口;
可能还需要模仿成一个正常浏览器的样子,或者使用代理;
甚至需要上传或POST数据。

而cURL就是HTTP脚本编程的利器。

什么是cURL

cURL的官方网站上这样解释:“The name is a play on ‘Client for URLs’”。意思为“访问URL的客户端”。
“cURL is a command line tool for doing all sorts of URL manipulations and transfers”,cURL是用于进行各种对URL的操作和访问传输的命令行工具。
而在Linux man手册里这样解释:“cURL - transfer a URL”,意思是对URL的访问传输。
今天我们要讲的curl是Linux下一个强大的对URL进行操作的命令行工具。
而cURL的写法,URL突出大写,也正是强调对URL的操作。

阅读全文 »

1…34
bingostack

bingostack

软件工程师的自我修养

34 日志
14 分类
55 标签
© 2021 bingostack | Site words total count: 62.1k
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4