cURL是一个强大的HTTP操作库, 可以协助用来操作HTTP相关工作, 减少了代码中使用socket带来的繁琐. 也包含了一个利用URL语法在命令行下工作的文件传输工具curl. 具体可以参考:http://curl.haxx.se/  这也是cURL开发者的首页.

以下是我的示例, 用来测试HTTP返回数据的.

#include <stdio.h> #include <curl/curl.h> // 页面数据回调函数 static size_t write_callback( void *ptr, size_t size, size_t nmemb, void *stream ) { int len = size * nmemb; int written = len; fwrite(ptr, size, nmemb, (FILE *)stream); //written = fputs( ptr, (FILE *)stream); return written; } // 返回http header回调函数 static size_t header_callback( void *ptr, size_t size, size_t nmemb, void *stream ) { int len = size * nmemb; int written = len; return written; } int main( void ) { CURL *curl; CURLcode res; struct curl_slist *chunk = NULL; curl = curl_easy_init(); if ( curl ) { // 加入http header 附加信息 chunk = curl_slist_append( chunk, "Accept-Language: zh-cn" ); //chunk = curl_slist_append( chunk, "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*" ); chunk = curl_slist_append( chunk, "Accept-Encoding: gzip, deflate" ); chunk = curl_slist_append( chunk, "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; CIBA)" ); chunk = curl_slist_append( chunk, "Connection: Keep-Alive" ); // 设置调试模式 curl_easy_setopt( curl, CURLOPT_VERBOSE, 1L ); curl_easy_setopt( curl, CURLOPT_URL, "192.168.1.25" ); curl_easy_setopt( curl, CURLOPT_HTTPHEADER, chunk ); // 设置回调函数 curl_easy_setopt( curl, CURLOPT_HEADERFUNCTION, header_callback ); curl_easy_setopt( curl, CURLOPT_WRITEFUNCTION, write_callback ); res = curl_easy_perform( curl ); /* always cleanup */ curl_easy_cleanup( curl ); curl_slist_free_all( chunk ); chunk = NULL; } return 0; }

通过cURL获取web页面及http header信息相关推荐

  1. linux测试网页装载时间,使用curl测试web页面响应加载速度

    curl -o /dev/null -s -w %{http_code}:%{http_connect}:%{content_type}:%{time_namelookup}:%{time_redir ...

  2. f12获取网页文本_jmeter获取web页面文本内容的两种方式

    介绍两种jmeter获取页面文本的方式,以我的博客主页为例,我想获取标题"风城烟雨"这几个字 方式一:使用正则表达式提取器 1.在博客主页空白处鼠标右键查看页面源代码,在源代码中找 ...

  3. Post/Get方式获取Web页面

    using System.Web; /// <summary>         /// Post方式请求页面         /// </summary>         // ...

  4. 获取web页面的宽度和高度

    Javascript: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document ...

  5. php通过使用curl获取http或者https的响应信息的方式

    获取远程链接的http地址的状态信息 方法:通过php自带的curl函数 以下为代码片段 function getHttpAndHttpsInfo($url){$this_get = curl_ini ...

  6. js获取当前页面url网址等信息

    使用js获取当前页面的url网址信息. 1.设置或获取整个 URL 为字符串: window.location.href 2.设置或获取与 URL 关联的端口号码: window.location.p ...

  7. hadoop集群web页面无法显示节点信息的解决方法

    hadoop使用web访问50070端口或者8088端口,可以快速查看所有节点的情况,可有些情况下,我们打开这个网页,却发现其datanode是空的 如果出现这种情况,有如下几种可能 一,未关闭虚拟机 ...

  8. 怎么在WEB页面上读取身份证信息

    以腈纶电子的读卡器为例 下载控件IDCardReader.ocx并注册 cd /d "%~dp0" regsvr32 IDCardReader.ocx CLS</P> ...

  9. VIPS:基于视觉的Web页面分页算法(转载)

    VIPS:基于视觉的Web页面分页算法 1.问题的提出 目 前,随着互联网的高速发展,Web已经成为这个世界上最大的信息来源.Web 作为信息技术的载体已成为人们重要的工作.学习.生活.娱乐工具.We ...

  10. 从零开始构建HTML 5 Web页面

    HTML 5是时下Web开发领域炒得火热的一个术语,是的,很多人都看好它,也有很多业内知名公司开始正式使用HTML 5重新构建自己的网站,如YouTube开始使用HTML 5视频,Google 已经弃 ...

最新文章

  1. Python编写循环的两个建议 | 鹅厂实战
  2. 主成分分析(Principle Component Analysis)PCA的核心思想是什么?PCA算法的优缺点?增量PCA模型, 随机PCA, 模型、 核化PCA分别是什么?使用时如何选择?
  3. 网页录音解决方案 FlashWavRecorder For Website API 关键地方已注释
  4. LVS server 关键点
  5. volte信令流程详解_VOLTE高清语音通话,呼叫时延低于3秒是如何做到的?
  6. Visual Studio Code支持JUnit
  7. 中累计直方图_试验研究中的利器强大的直方图和箱线图
  8. MPEG中面向沉浸式视觉体验的标准化活动
  9. C++ Applications
  10. Android中写文本文件的方法
  11. 建模步骤_古建设计 | sketchup建模步骤教程(简易入门版)
  12. 博客迁移至: http://www.cleocn.com
  13. 【直观详解】信息熵、交叉熵和相对熵
  14. 经典详细的Struts2教程(附案例源码)
  15. spread.net 14.2 Crack by Xacker
  16. 适合于初学者—软路由全探索系列(一):探索 VMware 虚拟机旁路由安装及设置
  17. 如何在虚拟一个USB设备
  18. 西门子杯企业命题”钞包分拣装箱系统”演示视频
  19. 迅睿CMS 程序安装教程
  20. 计算机211应届毕业生薪资,毕业生“薪酬”最高的4所211大学,985大学的学生只能羡慕!...

热门文章

  1. CF959A Mahmoud and Ehab and the even-odd game
  2. zabbix监控nginx的状态
  3. lscpu 显示cpu的相关信息
  4. windows server 2016安装weblogic
  5. java怎么把程序写入持久化_如何将DataFrame持久化到Hive表?
  6. centos 修改root密码_Liunx 下安装数据库以及修改密码
  7. c语言操作题和答案,C语言上机操作题及答案.doc
  8. 四川传媒学院计算机应用技术分数,四川传媒学院历年各专业录取文化最低控制分数线一览表...
  9. php 类中输出所有属性,PHP基于反射获取一个类中所有属性
  10. java背包算法_背包算法java版