`
zuroc
  • 浏览: 1309725 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

pycurl获取完整head信息

阅读更多
libcurl curl_easy_setopt()

CURLOPT_HEADERFUNCTION

函数指针: size_t function( void *ptr, size_t size, size_t nmemb, void *stream);

作用 :当libcurl收到header 数据, 会调用此函数处理.
当全部header的lines传递给回调函数后,此函数调用一次(为每个header), 可以使用此函数解析header


c中用法如

       curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
       curl_easy_setopt(curl, CURLOPT_READDATA, read_buff);        // or FILE*

       curl_easy_setopt(curl, CURLOPT_WRITEFUNCTIOIN, write_callback);
       curl_easy_setopt(curl, CURLOPT_WRITEDATA, write_buff);
// or FILE*

python用如,可以一个局部函数来保存到对应的c对象上

>>> def header(buf):
...     import sys
...     sys.stderr.write(buf)
...
>>>
>>> def body(buf):
...     pass
...
>>>
>>> import pycurl
>>>
>>> c = pycurl.Curl()
>>> c.setopt(pycurl.URL, "http://www.python.org/")
>>> c.setopt(pycurl.HEADERFUNCTION, header)
>>> c.setopt(pycurl.WRITEFUNCTION, body)
>>> c.perform()

HTTP/1.1 200 OK
Date: Sun, 12 Apr 2009 06:32:44 GMT
Server: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_ssl/2.2.9
OpenSSL/0.9.8g mod_wsgi/2.3 Python/2.5.2
Last-Modified: Sun, 12 Apr 2009 03:49:24 GMT
ETag: "105800d-42bb-467537bcfb900"
Accept-Ranges: bytes
Content-Length: 17083
Content-Type: text/html
分享到:
评论

相关推荐

    pycurl for python2.7

    在Python代码中,通过`import pycurl`引入PyCurl模块,然后可以创建`pycurl.Curl()`对象,设置各种选项(如URL、HTTP方法、头信息等),并调用`perform()`方法执行请求。PyCurl还支持回调函数,可以自定义数据接收、...

    pycurl+pyspider+phabtomjs

    在IT行业中,网络爬虫是数据获取的重要工具,而`pycurl`、`pyspider`和`PhantomJS`都是在这个领域中扮演关键角色的库或工具。接下来,我们将详细探讨这三个组件以及它们如何协同工作。 1. **pycurl**: `pycurl`是...

    Pycurl的安装与使用.doc

    - `getinfo(option)`: 获取请求的相关信息,对应libcurl的curl_easy_getinfo。 **示例代码**: 下面的示例展示了如何使用Pycurl从网页抓取数据: ```python import pycurl from io import BytesIO b_obj = ...

    pycurl-7.43.0.2-cp36-cp36m-win_amd64.whl

    以下是一个简单的例子,展示如何使用PyCurl获取网页内容: ```python import pycurl from io import BytesIO b_obj = BytesIO() crl = pycurl.Curl() crl.setopt(crl.URL, 'http://example.com') crl.setopt(crl....

    pycurl X64 python安装包

    pycurl 基于curl 官方只出版了32位版本 在http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl中有非官方的64位版本

    网络爬虫框架(基于pycurl/multicur

    这样,爬虫可以同时从多个网站获取数据,极大地提高了爬取速度。需要注意的是,使用多线程爬虫时,必须合理设置线程数量,以避免对目标网站造成过大的压力,同时也要考虑自身的资源限制。 在构建基于`pycurl/multi...

    python常用pycurl-7.43.0.1

    Python中的`pycurl`是一...以上代码展示了如何使用`pycurl`发起一个GET请求并获取响应。在实际开发中,可以根据需要设置更多选项来定制请求行为。`pycurl`的灵活性和强大功能使其成为Python中处理网络任务的重要工具。

    pycurl-7.43.1-cp37-cp37m-win_amd64 PycURL

    pycurl-7.43.1-cp37-cp37m-win_amd64 PycURL。 PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module....

    pycurl-7.43.0.2 Windows64位安装包

    pycurl-7.43.0.2 Windows64位安装包,Windows安装pycurl,支持python版本3.6

    pycurl-7.18.2.tar.gz

    PyCurl提供了一个错误代码系统,当发生错误时,可以通过`curl_errno()`和`curl_error()`获取错误代码和错误信息。 5. **性能优化**: PyCurl可以利用libcurl的多线程和多连接特性,通过`setopt`设置`MAXCONNECTS`...

    pycurl:PycURL - libcurl 的 Python 接口

    与 Python 模块类似,PycURL 可用于从 Python 程序中获取由 URL 标识的对象。 除了简单的获取之外,PycURL 还公开了 libcurl 的大部分功能,包括: 速度 - libcurl 非常快,而 PycURL 作为 libcurl 之上的瘦包装器...

    pycurl-7.43.0.3-cp37-cp37m-win32.whl

    在Python的世界里,数据的获取与传输是一项至关重要的任务,pycurl正是为此而生的一个库。本文将深入探讨pycurl及其在Windows平台上针对Python 3.7 32位版本的具体应用。 pycurl是一个Python接口,它为libcurl提供...

    pycurl-7.19.0.win-amd64-py2.7 64位pycurl安装包

    64位windows pycurl安装包,可以直接按照后使用!已经在多台服务器上验证过!

    pycurl-7.20.1-bin-win32-py26.zip安装版

    pycurl提供了错误处理机制,可以通过检查`Curl`对象的`errno`属性来查看错误代码,通过`strerror`方法获取错误信息。 总结,pycurl是Python进行网络请求的强大工具,尤其对于需要低级控制HTTP操作的场景,如上传...

    pycurl-ssl-7.19.0.win32-py2.7

    《Python网络库pycurl-SSL 7.19.0 for Win32与Python 2.7详解》 在Python编程中,pycurl是一个非常重要的库,它提供了对libcurl库的接口,使Python...同时,建议尽快升级到Python 3,以获取最新的安全修复和功能更新。

    pycurl 统计网络传输时间

    pycurl 统计网络传输时间,下载数据包大小,建立连接时间,平均下载速度

    下载pyspider报错时所需的pycurl文件

    然而,有时候在安装或使用`pyspider`的过程中,可能会遇到一些依赖问题,比如标题中提到的`pycurl`缺失。`pycurl`是Python的一个库,它提供了对libcurl库的接口,用于处理URL,支持多种协议,如HTTP、HTTPS、FTP等,...

    Python 2.7 windows端所需的pycurl安装文件

    在这个压缩包中,我们有两个不同版本的`pycurl`安装文件:`pycurl-7.43.0.3-cp27-cp27m-win_amd64.whl`和`pycurl-7.43.0.3-cp27-cp27m-win32.whl`。这两个文件分别对应于64位和32位的Windows系统。在选择合适的版本...

    PycURL(Windows7/Win32)Python2.7安装包 Pypycurl-7.19.0.win32-py2.7

    PycURL(Windows7/Win32)Python2.7安装包 Pypycurl-7.19.0.win32-py2.7 PycURL is a interface to the libcurl library.

Global site tag (gtag.js) - Google Analytics