用途当然是模拟浏览器
# -*- coding: utf-8 -*-
"""
使用pycurl发起HTTP访问
"""
import pycurl, urllib
import StringIO
def curl(url, method="GET", proxy=(), verbose=0, cookie_file="", **kwargs):
#proxy = ("www.test.com:8080", "SOCKS5", "user:pass")
req = pycurl.Curl()
req.setopt(pycurl.FOLLOWLOCATION, 1)
req.setopt(pycurl.MAXREDIRS, 5)
req.setopt(pycurl.CONNECTTIMEOUT, 60)
req.setopt(pycurl.TIMEOUT, 600)
req.setopt(pycurl.HTTPPROXYTUNNEL, 1)
req.setopt(pycurl.VERBOSE, verbose)
agent = kwargs.pop("agent", "Mozilla/4.0")
req.setopt(pycurl.USERAGENT, agent)
if cookie_file:
req.setopt(pycurl.COOKIEJAR, cookie_file)
req.fp = StringIO.StringIO()
req.setopt(pycurl.WRITEFUNCTION, req.fp.write)
data = urllib.urlencode(kwargs)
if method.upper() == "GET":
if data:
url = url + "?" + data
req.setopt(pycurl.URL, url)
else:
req.setopt(pycurl.URL, url)
req.setopt(pycurl.POSTFIELDS, data)
if proxy:
host_port, sock_type, user_pass = proxy
req.setopt(pycurl.PROXY, host_port)
req.setopt(pycurl.PROXYTYPE, sock_type)
req.setopt(pycurl.PROXYUSERPWD, user_pass)
req.perform()
return req.fp.getvalue()
分享到:
相关推荐
pycurl 统计网络传输时间,下载数据包大小,建立连接时间,平均下载速度
**PyCurl for Python 2.7:网络数据传输库** PyCurl是Python编程语言的一个强大库,它为Python提供了libcurl库的功能。libcurl是一个用于处理URLs的跨平台库,支持多种协议,包括HTTP、HTTPS、FTP、FTPS等。在...
Pycurl是一个Python绑定库,它为Python程序员提供了强大的网络访问功能。Pycurl基于libcurl库,一个用C语言编写的跨平台库,用于处理多种互联网协议,包括HTTP、FTP、TFTP等。Pycurl因其高效、稳定和功能丰富而受到...
本教程将专注于一个基于Python的网络爬虫框架,该框架利用了`pycurl`和`multicurl`库来提高爬取效率。`pycurl`是一个Python接口,用于libcurl,一个强大的URL传输库,而`multicurl`则是在`pycurl`基础上构建的多线程...
在IT行业中,网络爬虫是数据获取的重要工具,而`pycurl`、`pyspider`和`PhantomJS`都是在这个领域中扮演关键角色的库或工具。接下来,我们将详细探讨这三个组件以及它们如何协同工作。 1. **pycurl**: `pycurl`是...
pycurl 基于curl 官方只出版了32位版本 在http://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl中有非官方的64位版本
pycurl-7.43.0.2 Windows64位安装包,Windows安装pycurl,支持python版本3.6
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....
64位windows pycurl安装包,可以直接按照后使用!已经在多台服务器上验证过!
5. **代理支持**:通过配置代理服务器,可以在受限制的网络环境中访问互联网。 6. **SSL加密**:支持HTTPS协议,确保数据传输的安全性。 7. **文件上传**:可以将本地文件作为请求的一部分发送到服务器。 8. **多...
总之,pycurl是Python中一个强大的网络访问工具,其全面的协议支持、灵活的配置选项以及高效的性能,使其成为Python网络编程不可或缺的一部分。对于使用32位Windows系统的Python 3.7用户来说,这个特定版本的whl文件...
资源来自pypi官网。 资源全名:pycurl-7.43.0.5-cp35-cp35m-win_amd64.whl
然而,有时候在安装或使用`pyspider`的过程中,可能会遇到一些依赖问题,比如标题中提到的`pycurl`缺失。`pycurl`是Python的一个库,它提供了对libcurl库的接口,用于处理URL,支持多种协议,如HTTP、HTTPS、FTP等,...
《Python的CURL库:PyCurl深度解析》 PyCurl是Python中一个非常重要的库,它提供了对libcurl的接口,使Python程序能够处理各种网络协议,如HTTP、HTTPS、FTP、FTPS等。libcurl是一个强大的URL传输库,而PyCurl则将...
在这个压缩包中,我们有两个不同版本的`pycurl`安装文件:`pycurl-7.43.0.3-cp27-cp27m-win_amd64.whl`和`pycurl-7.43.0.3-cp27-cp27m-win32.whl`。这两个文件分别对应于64位和32位的Windows系统。在选择合适的版本...
《Python网络库pycurl-SSL 7.19.0 for Win32与Python 2.7详解》 在Python编程中,pycurl是一个非常重要的库,它提供了对libcurl库的接口,使Python程序员能够方便地进行HTTP、HTTPS、FTP等协议的网络数据传输。...
《Python中的PyCurl库与Pyspider框架:安装与使用详解》 在Python的开发环境中,有时候我们需要处理HTTP和HTTPS请求,这时PyCurl库就显得尤为重要。PyCurl是一个Python接口,用于libcurl,一个强大的URL传输库。在...
这里,`c.URL`是pycurl中的常量,代表你要访问的URL。 4. 将数据写入文件或内存: ```python with open('output.html', 'wb') as f: c.setopt(c.WRITEDATA, f) ``` `c.WRITEDATA`设置输出数据的目标,这里是一个...
python pycurl win32 python2.6 msi