Python之requests的使用(二)
作者:爱吃饼干的小白鼠 发布时间:2021-10-30 16:44:51
⭐️requests的使用(二)
上一篇我们说了requests的简单用法,知道了如何发送请求,今天我们更深层次的来学习requests。我们看看高级一点的操作,比如讲文件上传,cookies设置,代理设置之类的。
🌟1.文件上传
我们知道requests可以模拟提交一些数据,除此之外。有的网站需要我们上传文件,我们用requests同样也可以实现。比如讲,我们现在想上传文件,我们可以这样做。
import requests
f = {'f':open('a.text','rb')}
r = requests.post('http://httpbin.org/post',files = f)
print(r.text)
我们运行一下程序,我们看有什么效果。
我们可以看到响应里面包含了files的这个字段,而form这个字段是空的,这证明了文件上传部分会单独有一个files字段来标识。
🌟2.cookies
我们可以用cookies来维持登录状态,在浏览器里面,在开发者工具里面,我们可以找到cookies字段,我们可以直接复制即可。
我们将cookies设置到headers里面,然后,发送请求,就可以登录了。示例代码如下:
🌟3.SSL证书验证
那么什么是SSL证书呢?
SSL证书是一种数字证书,是一种电子副本,类似于驾驶证、护照和营业执照的电子副本。它由受信任的数字证书颁发机构(CA)签发,并且客户端和服务器都必须验证证书的有效性。
SSL证书的主要功能是提供服务器身份验证和数据传输加密。它可以确保数据在传输过程中不被窃取或篡改,并且可以增强安全性,防止未经授权的人员访问服务器。
在SSL证书验证过程中,客户端和服务器都需要验证证书的有效性。
此外,requests还有证书验证的功能,当发送HTTP请求的时候,它会检查SSL证书,我们可以使用verify参数控制是否检查此证书。一般默认是打开的。
那我们的代码怎么写呢?
response = requests.get('http://www.baidu.com',verify = False)
🌟4.代理设置
对于一些网站,在测试的时候还能获取内容,一旦频繁爬取,就有可能被封IP,导致一段时间无法访问。那么,为了防止这种情况发生,我们就要设置代理来解决,这里就用到了proxies参数。
Proxy 是 Python 的一个内置模块,它可以用来创建代理对象,用于在网络上转发请求和响应。在 Python 中,可以使用 requests 库来发送 HTTP 请求,并使用 proxies 参数来指定代理对象。
下面是一个示例代码,演示如何使用 proxies 参数来设置代理对象:
import requests
# 创建一个 requests 对象
r = requests.get('http://example.com')
# 设置代理对象
r.proxies = {'http': 'http://proxy.example.com:80'}
# 发送请求并获取响应
response = r.send()
# 打印响应状态码和头部信息
print(response.status_code)
print(response.headers)
在上面的代码中,我们首先创建了一个 requests 对象,并使用 proxies 参数设置了一个代理对象。在这个例子中,我们将 http 请求转发到了一个名为 proxy.example.com 的代理服务器上,并将代理服务器的地址设置为 80。
然后,我们使用 send 方法发送了一个 HTTP GET 请求,并将代理对象作为参数传递给了它。最后,我们使用 response.status_code 和 response.headers 属性打印了响应状态码和头部信息。
🌟5.超时设置
在网路不好的时候,或者服务器响应太慢,甚至有时候还会报错,为了防止服务器不能及时响应,我们可以设置一个超时设置,这里就用到了timeout参数。
response = requests.get('http://www.baidu.com',timeout= 30)
request 对象的 timeout 属性用于设置请求超时时间。默认情况下,timeout 属性的值为 60,表示请求超时时间为 60 秒。如果需要更改超时时间,可以将其设置为一个更小的值,例如 30,表示请求超时时间为 30 秒。
如果需要在请求发送后立即返回一个响应,可以将 timeout 属性设置为 0。这将使 timeout 属性的值为 None,表示请求超时时间为 永远。
🌟总结
今天我们更深层次的来学习requests。我们看看高级一点的操作,比如讲文件上传,cookies设置,代理设置之类的。下一篇,我们就来说说正则表达式的相关知识点。
来源:https://blog.csdn.net/BROKEN__Y/article/details/130022574
猜你喜欢
- 第一类:对于下面的这些option的可选参数,value应该被设置一个bool类型的值:选项可选value值备注CURLOPT_AUTORE
- Oracle TRIM函数是很常见的函数,下面对Oracle TRIM函数的语法作了详尽的阐述说明,希望可以让您对Oracle TRIM函数
- 本文实例讲述了php基于协程实现异步的方法。分享给大家供大家参考,具体如下:github上php的协程大部分是根据这篇文章实现的:http:
- 上四篇的内容是把常用的XHTML标签拿出来介绍了一下,不是很详细。不过没关系,重点是要能先知道用他们,以后深入了再去细细研究更为详细的特性以
- ADO也提供更有效率方法来取得数据。GetRows 方法传回一个二维的数组变量,每一行对应Recordset中的一笔记录,且每
- 时下,个性ico图标却成为一些主流大牌网站提高用户体验(UE)的一个“时髦”玩法,那么,是如何在IE地址栏显示出网站的个性图标的呢?常浏览网
- 建立池连接可以显著提高应用程序的性能和可缩放性。SQL Server .NET Framework 数据提供程序自动为 ADO.NET 客户
- 1. ... 对象没错,你没看错,就是 "..."在Python中 ... 代表着一个名为 
- user-define-session-inc.php文件代码:<?php function mysession_open($save
- 微软今天宣布正式发布SQL Server 2008服务器软件,这将帮助微软与Oracle 11g,IBM DB2 9.5数据库产品对抗.此前
- js也是可以做出狂炫的图形的,恭请超级高手分析。给大家看个例子吧。http://www.p01.org/releases/DHTML_con
- 前言首先抛出几个问题:console.log(Boolean({}));console.log(Number([]));console.lo
- 本文实例讲述了Python 字符串、列表、元组的截取与切片操作。分享给大家供大家参考,具体如下:demo.py(字符串、列表、元组的截取):
- 最近的项目中大量涉及数据的预处理工作,对于ndarray的使用非常频繁。其中ndarray如何进行数值筛选,总结了几种方法。1.按某些固定值
- 作用:用ASP程序将页面中的电话号码生成图片格式。以下是引用片段:<% Call Com_CreatValidCode(Request
- 本文实例讲述了Python数据分析之双色球基于线性回归算法预测下期中奖结果。分享给大家供大家参考,具体如下:前面讲述了关于双色球的各种算法,
- 本文实例为大家分享了python爬虫爬取淘宝商品的具体代码,供大家参考,具体内容如下1、需求目标 : 进去淘宝页面,搜索耐克关键词,抓取 商
- XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本
- str()将参数转换为字符串类型a = 26print('我有'+str(a)+'个苹果')输出:我有26个
- 前言k-means算法是无监督的聚类算法,实现起来较为简单,k-means++可以理解为k-means的增强版,在初始化中心点的方式上比k-