curl网站开发指南

news/2024/5/20 0:50:46/文章来源:https://blog.csdn.net/weixin_34376562/article/details/93719419

curl网站开发指南

作者: 阮一峰

日期: 2011年9月 4日

我一向以为,curl只是一个编程用的函数库。

最近才发现,这个命令本身,就是一个无比有用的网站开发工具,请看我整理的它的用法。

===================================

curl网站开发指南

阮一峰 整理

img

curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面。

它支持多种协议,下面举例讲解如何将它用于网站开发。

一、查看网页源码

直接在curl命令后加上网址,就可以看到网页源码。我们以网址www.sina.com为例(选择该网址,主要因为它的网页代码较短):

  $ curl www.sina.com

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.sina.com.cn/">here</a>.</p>
</body></html>

如果要把这个网页保存下来,可以使用-o参数,这就相当于使用wget命令了。

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

二、自动跳转

有的网址是自动跳转的。使用-L参数,curl就会跳转到新的网址。

  $ curl -L www.sina.com

键入上面的命令,结果就自动跳转为www.sina.com.cn。

三、显示头信息

-i参数可以显示http response的头信息,连同网页代码一起。

  $ curl -i www.sina.com

  HTTP/1.0 301 Moved Permanently
  Date: Sat, 03 Sep 2011 23:44:10 GMT
  Server: Apache/2.0.54 (Unix)
  Location: http://www.sina.com.cn/
  Cache-Control: max-age=3600
  Expires: Sun, 04 Sep 2011 00:44:10 GMT
  Vary: Accept-Encoding
  Content-Length: 231
  Content-Type: text/html; charset=iso-8859-1
  Age: 3239
  X-Cache: HIT from sh201-9.sina.com.cn
  Connection: close

  <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
  


  301 Moved Permanently
  
  

Moved Permanently


  

The document has moved here.


  

-I参数则是只显示http response的头信息。

四、显示通信过程

-v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。

  $ curl -v www.sina.com

如果你觉得上面的信息还不够,那么下面的命令可以查看更详细的通信过程。

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

或者

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

运行后,请打开output.txt文件查看。

五、发送表单信息

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

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

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

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

如果你的数据没有经过表单编码,还可以让curl为你编码,参数是--data-urlencode

  $ curl -X POST--data-urlencode "date=April 1" example.com/form.cgi

六、HTTP动词

curl默认的HTTP动词是GET,使用-X参数可以支持其他动词。

  $ curl -X POST www.example.com

  $ curl -X DELETE www.example.com

七、文件上传

假定文件上传的表单是下面这样:

  


    
    
  

你可以用curl这样上传文件:

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

八、Referer字段

有时你需要在http request头信息中,提供一个referer字段,表示你是从哪里跳转过来的。

  $ curl --referer http://www.example.com http://www.example.com

九、User Agent字段

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

iPhone4的User Agent是

  Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7

curl可以这样模拟:

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

十、cookie

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

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

至于具体的cookie的值,可以从http response头信息的Set-Cookie字段中得到。

-c cookie-file可以保存服务器返回的cookie到文件,-b cookie-file可以使用这个文件作为cookie信息,进行后续的请求。

  $ curl -c cookies http://example.com
  $ curl -b cookies http://example.com

十一、增加头信息

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

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

十二、HTTP认证

有些网域需要HTTP认证,这时curl需要用到--user参数。

  $ curl --user name:password example.com

【参考资料】

  * Using cURL to automate HTTP jobs

  * 教你学用CURL

  * 9 uses for cURL worth knowing

(完)

转载于:https://www.cnblogs.com/itxdm/p/curl_in_linux.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_752408.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黑客技术偷电商网站僵尸账户,先消费后还款下单诈骗

欧某先通过不同的手机&#xff0c;利用网上商城客户注册后极少使用或者不使用的“僵尸账户”&#xff0c;利用此类账户已经开通的先消费、后还款的功能&#xff0c;进行下单购物&#xff08;主要以高档手机、金饰为主&#xff0c;方便销赃&#xff09;&#xff0c;然后由其本人…

婚介交友网站出卖隐私没商量,你害怕吗?

【黑客联盟2016年12月02日讯】在如今互联网密码泄露都是上亿用户递增&#xff0c;专家开始对密码安全的方方面面进行大讨论。 2016年最大宗的数据泄露案件使得超过4亿用户账户遭到泄露&#xff0c;引起了行业专家们围绕密码安全最佳实践的大讨论。 Friend Finder Network由一系…

一个空间主机安装多个网站的方法

一个空间主机如何安装多个网站的方法1、在空间上分别绑定 www.aaa.com 和 www.bbb.com 2、把 www.aaa.com 网站文件传到根目录&#xff0c;把 www.bbb.com 网站传到 ./bbb/ 目录 3、把下面的代码保存为 domain.js &#xff0c;然后上传到空间根目录 以下是代码片段&#xff1a;…

为了让该网站给你提供个人化信息 是否_《个人信息出境安全评估办法》公开征求意见,哪些与你有关?...

6月13日零点&#xff0c;国家网信办就《个人信息出境安全评估办法&#xff08;征求意见稿&#xff09;》&#xff08;下称《办法》&#xff09;向社会公开征求意见。根据该征求意见稿&#xff0c;网络运营者向境外提供在中华人民共和国境内运营中收集的个人信息&#xff0c;应进…

黑客分分钟破解网站漏洞,秒秒钟拿光你的钱

【黑客联盟2016年11月17日讯】“过去一年我找遍了做IOT(物联网)、无人机、自动驾驶的国内外厂商&#xff0c;几乎没人和我讨论安全问题。”国内知名白帽黑客团队Keen创始人兼CEO王琦感慨。他在白帽黑客江湖中的绰号叫“大牛蛙”&#xff0c;技术上的大牛&#xff0c;同时长着一…

获取了网站源码有什么用_百度网站最蜘蛛快排 - 网站友情链接有什么用

原出处&#xff1a;最蜘蛛快排原文链接&#xff1a;http://seo.zuizhizhu.com百度网站最蜘蛛快排 seo.zuizhizhu.com 网站关键词快速排名优化&#xff0c;支持百度快速排名&#xff0c;搜狗快速排名&#xff0c;360快速排名&#xff0c;神马快速排名&#xff0c;7-15天关键词排…

如何把自己的网站部署在网上_如何开始建设自己的第一个网站

如何开始建设自己的第一个网站首先确定网站的需求中小型初创企业官网企业电商类个人博客选择适合自己的建站类型定制开发适合有技术的专家、大公司开源程序服务器/虚拟主机利用world press、织梦dede等开源程序&#xff0c;购买服务器/虚拟主机进行搭建。适合做官网、个人博客展…

不能忍!花钱买网站VIP账号别人在用?

【黑客联盟2016年12月05日讯】你的牙刷被别人偷偷用了&#xff0c;是不是不能忍&#xff1f; 那你花钱买的视频网站VIP账号呢&#xff1f;有些人可能能忍&#xff0c;然而有些人却不能。 今日&#xff0c;央视财经频道曝光了一则消息——你买的视频网站会员VIP 别人也在用&…

自学黑客技术攻陷政府网站,这不找死吗?

利用软件控制正规网站&#xff0c;然后植入自己客户的非法广告&#xff0c;以此获取非法利益。8月24日&#xff0c;德城区检察院将涉嫌非法侵入计算机信息系统罪、非法控制计算机信息系统罪的孙某依法批准逮捕&#xff0c;这是德州市办理的首例涉嫌此类罪名的案件。 多地政府网…

个人网站可以申请微信授权登录吗?

https://zhidao.baidu.com/question/1639879040732355180.html?qblrelate_question_6&word%CE%A2%D0%C5%B5%DA%C8%FD%B7%BD%B5%C7%C2%BC%CD%F8%D5%BE%D0%C5%CF%A2%B5%C7%BC%C7%B1%ED%C8%B1%C9%D9%B9%AB%D5%C2%2C%B8%F6%C8%CB%C3%BB%D3%D0%D5%C2一个个人网站&#xff0c;可…

Slog30_支配vue框架初阶项目之博客网站-注册页面-选择框

ArthurSlogSLog-30Year1GuangzhouChinaAug 5th 2018GitHub掘金主页简书主页segmentfault要越快 就需要越多的能量并需要承受更大的压力 当然也可以依附在快速运动的物体上 开发环境MacOS(High Sierra 10.13.5) 需要的信息和信息源&#xff1a; Slog1_如何使用nodejs与mysql进行…

史上最全建站教程

摘要&#xff1a;史上最全建站教程。常用镜像&#xff0c;一键触达。 为了方便您搭建网站&#xff0c;文档君汇总了阿里云云市场上最常用的应用镜像的使用教程&#xff0c;并提供了教程和云市场镜像的链接&#xff0c;让您一键触达&#xff0c;轻松建站。 熟悉搭建云服务器环境…

apache部署多域名,同个ip部署多个网站

写个总结笔记&#xff0c;让以后的自己知道怎么部署。 首先apache的版本是2.4.7&#xff0c;然后系统是Ubuntu 14.04.1 LTS。&#xff08;因为好像配置文件和目录有差异&#xff09; 首先进到apache2目录下, 我们要探讨的主要是sites-available和sites-enabled根据字面意思&…

oppo云服务器网站,OPPO云服务了解一下 给你满满的安全感

如今这个时代人们早已不能仅满足于手机的外观设计和硬件配置了&#xff0c;大家渐渐意识到手机内部的优化也是十分重要的。11月20日OPPO官方微博发布的一则【一分钟了解OPPO云服务】的视频&#xff0c;引发了大众的广泛热议和兴趣。相信大家对云服务都不太陌生&#xff0c;因为…

12个美丽的网站与受到日出启发的配色方案

在为项目选择配色方案时&#xff0c;有什么提供灵感&#xff1f;我打赌你有一些论点和原则。例如&#xff0c;我们都意识到每种颜色都有其个性和心理底蕴&#xff0c;使其有助于唤起特定的情感。例如&#xff0c;蓝色激发了信任&#xff0c;被企业广应用。这就是众多公司和机构…

在搜索结果中屏蔽掉垃圾网站 - Google Hit Hider by Domain

使用百度、谷歌、必应等搜索引擎&#xff0c;搜索结果中有太多垃圾内容怎么办&#xff1f;还有些网站看着就烦怎么办&#xff1f; 直接点儿&#xff0c;屏蔽它。 简介 Google Hit Hider by Domain 是一个油猴脚本&#xff0c;用于屏蔽百度、谷歌、必应等搜索结果中无效的、无…

让所有网站都支持深色主题 - Dark Reader

深色主题舒适又护眼&#xff0c;广受大家的喜爱 。我们所接触到的操作系统&#xff08;电脑&手机&#xff09;基本上都支持了深色主题&#xff0c;很多 APP&#xff0c;特别是阅读 APP 也都支持深色主题。可是网站呢&#xff1f;有些支持有些不支持。 如何能让所有网站都支…

测试网速和网站加载的速度 - Speedtest by Ookla

你想知道家里的网速怎么样吗&#xff1f;你想知道公司的网速怎么样吗&#xff1f;上传速度怎么样&#xff1f;下载速度怎么样&#xff1f; 你想知道某个网站的打开的速度怎么样吗&#xff1f; 用 Speedtest by Ookla 一键帮你搞定。 简介 Speedtest by Ookla 是一个 Chrome 插…

视频网站数据平台变迁之路(一)

一.数据系统架构V1 _ 优酷早在2007年便采用php语言自主开发了一套数据系统。系统分为数据采集、数据存储、数据分析、报表平台&#xff0c;四个模块。整体架构如下&#xff1a; 这套架构至今在一些需要自己搭建数据平台的小公司而言也是足够的&#xff0c;在没有海量数据之前可…

网站性能工具Yslow的使用方法

Yslow是雅虎开发的基于网页性能分析浏览器插件&#xff0c;从年初我使用了YSlow后&#xff0c;改变了博客模板大量冗余代码&#xff0c;不仅提升了网页的打开速度&#xff0c;这款插件还帮助我分析了不少其他网站的代码&#xff0c;之前我还特意写了提高网站速度的秘籍&#xf…