Python中Pycurl属性与方法的示例分析
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,小编给大家分享一下Python中Pycurl属性与方法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Pycurl
千家信息网最后更新 2024年11月11日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安全错误
数据库的锁怎样保障安全
php 获取远程服务器
软件开发怎么上机
盐城新品联想服务器厂家直供
数据库时间字段大小为多少
汽车维修和网络技术哪个好
计算机软件开发多少工资
网络安全攻防演练领导致辞
天玥 服务器
网络安全验证方法
神通数据库文件扩容
网络安全重于泰山活动内容
网络安全 条例
负责统筹协调网络安全的是
数据库表主键id自增长
营销管理书第15版云服务器
天津网络安全宣传人才引进
软件开发过程的模型
数据库视图在哪里打开
打开数据库连接时候出错
崇明区数据链网络技术产品
国产数据库代码来源
网赌判刑 软件开发
武汉大学华中网络安全
网站提高网络安全意识
pdu服务器电源制造厂
商城服务器可以在手机上使用吗
计算机三级网络技术题库
数据库右键单击删除
射频软件开发工程师
失落的方舟显示服务器验证失败Win10