Python中Pycurl属性与方法的示例分析
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下Python中Pycurl属性与方法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Pycurl
千家信息网最后更新 2025年11月08日Python中Pycurl属性与方法的示例分析
小编给大家分享一下Python中Pycurl属性与方法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Pycurl包是一个libcurl的Python接口,由C语言编写的,功能强大,速度快。由于pycurl的属性和方法太多了,写这篇博文记录一下pycurl的属性和方法。
正常安装
pip install pycurl
如果出现问题,可以按照系统版本搜索安装方法,比如centos7.1 安装pycurl
通用请求方法
import pycurl,urllibfrom io import BytesIO url = 'http://www.baidu.com' headers = [ "User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3",] data = { "cityListName":"", "trade": "" } c = pycurl.Curl() #通过curl方法构造一个对象#c.setopt(pycurl.REFERER, 'http://www.baidu.com/') #设置refererc.setopt(pycurl.FOLLOWLOCATION, True) #自动进行跳转抓取c.setopt(pycurl.MAXREDIRS,5) #设置最多跳转多少次c.setopt(pycurl.CONNECTTIMEOUT, 60) #设置链接超时c.setopt(pycurl.TIMEOUT,120) #下载超时c.setopt(pycurl.ENCODING, 'gzip,deflate') #处理gzip内容# c.setopt(c.PROXY,ip) # 代理c.fp = BytesIO() c.setopt(pycurl.URL, url) #设置要访问的URLc.setopt(pycurl.HTTPHEADER,headers) #传入请求头c.setopt(pycurl.POST, 1)c.setopt(pycurl.POSTFIELDS, urllib.urlencode(data)) #传入POST数据c.setopt(c.WRITEFUNCTION, c.fp.write) #回调写入字符串缓存c.perform() code = c.getinfo(c.HTTP_CODE) #返回状态码html = c.fp.getvalue() #返回源代码 print c.getinfo(c.TOTAL_TIME)GET请求方法
c = pycurl.Curl() #通过curl方法构造一个对象c.setopt(pycurl.FOLLOWLOCATION, True) #自动进行跳转抓取c.setopt(pycurl.MAXREDIRS,5) #设置最多跳转多少次c.setopt(pycurl.CONNECTTIMEOUT, 60) #设置链接超时c.setopt(pycurl.TIMEOUT,120) #下载超时c.setopt(pycurl.ENCODING, 'gzip,deflate') #处理gzip内容# c.setopt(c.PROXY,ip) # 代理c.fp = BytesIO() c.setopt(pycurl.URL, url) #设置要访问的URLc.setopt(pycurl.USERAGENT,ua) #传入ua# c.setopt(pycurl.HTTPHEADER,self.headers) #传入请求头c.setopt(c.WRITEFUNCTION, c.fp.write) #回调写入字符串缓存c.perform() code = c.getinfo(c.HTTP_CODE) #返回状态码html = c.fp.getvalue() #返回源代码
POST请求方法
c = pycurl.Curl() #通过curl方法构造一个对象c.setopt(pycurl.FOLLOWLOCATION, True) #自动进行跳转抓取c.setopt(pycurl.MAXREDIRS,5) #设置最多跳转多少次c.setopt(pycurl.CONNECTTIMEOUT, 60) #设置链接超时c.setopt(pycurl.TIMEOUT,120) #下载超时c.setopt(pycurl.ENCODING, 'gzip,deflate') #处理gzip内容# c.setopt(c.PROXY,ip) # 代理c.fp = BytesIO() c.setopt(pycurl.URL, url) #设置要访问的URLc.setopt(pycurl.USERAGENT,ua ) #传入User-Agent# c.setopt(pycurl.HTTPHEADER,headers) #传入请求头c.setopt(pycurl.POST, 1)c.setopt(pycurl.POSTFIELDS, urllib.parse.urlencode(data))c.setopt(c.WRITEFUNCTION, c.fp.write) #回调写入字符串缓存c.perform() code = c.getinfo(c.HTTP_CODE) #返回状态码html = c.fp.getvalue() #返回源代码
windows访问https
windows 访问https的方法,需要证书
import certific.setopt(pycurl.CAINFO, certifi.where())
获取网页多重跳转之后的地址
c.getinfo(pycurl.EFFECTIVE_URL) 获取网页的最终地址
记录Cookie
c.setopt(pycurl.COOKIEFILE, "cookie_file_etherscan") #读取cookiec.setopt(pycurl.COOKIEJAR, "cookie_file_etherscan") #设置cookie
其他属性
pycurl的部分API:
pycurl.Curl() #创建一个pycurl对象的方法pycurl.Curl(pycurl.URL, http://www.google.com.hk) #设置要访问的URLpycurl.Curl().setopt(pycurl.MAXREDIRS, 5) #设置最大重定向次数pycurl.Curl().setopt(pycurl.CONNECTTIMEOUT, 60)pycurl.Curl().setopt(pycurl.TIMEOUT, 300) #连接超时设置pycurl.Curl().setopt(pycurl.USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)") #模拟浏览器pycurl.Curl().perform() #服务器端返回的信息pycurl.Curl().getinfo(pycurl.HTTP_CODE) #查看HTTP的状态 类似urllib中status属性 pycurl.NAMELOOKUP_TIME 域名解析时间pycurl.CONNECT_TIME 远程服务器连接时间pycurl.PRETRANSFER_TIME 连接上后到开始传输时的时间pycurl.STARTTRANSFER_TIME 接收到第一个字节的时间pycurl.TOTAL_TIME 上一请求总的时间pycurl.REDIRECT_TIME 如果存在转向的话,花费的时间pycurl.HTTP_CODE HTTP 响应代码pycurl.REDIRECT_COUNT 重定向的次数pycurl.SIZE_UPLOAD 上传的数据大小pycurl.SIZE_DOWNLOAD 下载的数据大小pycurl.SPEED_UPLOAD 上传速度pycurl.HEADER_SIZE 头部大小pycurl.REQUEST_SIZE 请求大小pycurl.CONTENT_LENGTH_DOWNLOAD 下载内容长度pycurl.CONTENT_LENGTH_UPLOAD 上传内容长度pycurl.CONTENT_TYPE 内容的类型pycurl.RESPONSE_CODE 响应代码pycurl.SPEED_DOWNLOAD 下载速度pycurl.INFO_FILETIME 文件的时间信息pycurl.HTTP_CONNECTCODE HTTP 连接代码
以上是"Python中Pycurl属性与方法的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
方法
内容
时间
属性
大小
对象
状态
代码
字符
字符串
数据
源代码
篇文章
缓存
速度
链接
代理
处理
示例
分析
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全的手抄报模板a3
种子 服务器
软件开发销售模板
软件开发环境测试
博雅数据库河南农业大学
大话西游2虎啸神州服务器
加密技术对公共网络安全的作用
网络安全法数据保护
软件开发多轮面试如何区别对待
防丢器软件开发
甘肃省网络安全宣传视频
商标软件开发属于第几类别
软件开发是怎么发展的
关于计算机网络技术课程
云函数和服务器怎么传递数据
软件开发每天都要记录日志吗
用工具转储云端数据库
河南正规软件开发服务检测中心
服务器网络安全设置
交易室的服务器在哪
网络安全作文400字结尾
软件开发中的瀑布模型典型
美国高校网络安全专业
成都小学生校园网络安全教育
上海动环监控检测数据库
服务器被迷你玩家炸原视频
crm软件开发管理
cmd命令服务器管理软件
软件开发公司预算
银行网络安全责任制检查考核制度