Python 官方文档:入门教程 => 点击学习
目录⭐️requests的使用(二)🌟1.文件上传🌟2.cookies🌟3.SSL证书验证 🌟4.代理设置🌟5.超时设置🌟总结⭐️requests的使用(二) 上一篇我们说
上一篇我们说了requests的简单用法,知道了如何发送请求,今天我们更深层次的来学习requests。我们看看高级一点的操作,比如讲文件上传,cookies设置,代理设置之类的。
我们知道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字段来标识。
我们可以用cookies来维持登录状态,在浏览器里面,在开发者工具里面,我们可以找到cookies字段,我们可以直接复制即可。
我们将cookies设置到headers里面,然后,发送请求,就可以登录了。示例代码如下:
那么什么是SSL证书呢?
此外,requests还有证书验证的功能,当发送HTTP请求的时候,它会检查SSL证书,我们可以使用verify参数控制是否检查此证书。一般默认是打开的。
那我们的代码怎么写呢?
response = requests.get('http://www.baidu.com',verify = False)
对于一些网站,在测试的时候还能获取内容,一旦频繁爬取,就有可能被封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 属性打印了响应状态码和头部信息。
在网路不好的时候,或者服务器响应太慢,甚至有时候还会报错,为了防止服务器不能及时响应,我们可以设置一个超时设置,这里就用到了timeout参数。
response = requests.get('http://www.baidu.com',timeout= 30)
request 对象的 timeout 属性用于设置请求超时时间。默认情况下,timeout 属性的值为 60,表示请求超时时间为 60 秒。如果需要更改超时时间,可以将其设置为一个更小的值,例如 30,表示请求超时时间为 30 秒。
如果需要在请求发送后立即返回一个响应,可以将 timeout 属性设置为 0。这将使 timeout 属性的值为 None,表示请求超时时间为 永远。
今天我们更深层次的来学习requests。我们看看高级一点的操作,比如讲文件上传,cookies设置,代理设置之类的。下一篇,我们就来说说正则表达式的相关知识点。
到此这篇关于Python之requests的使用(二)的文章就介绍到这了,更多相关Python requests使用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Python之requests的使用(二)
本文链接: https://www.lsjlt.com/news/208421.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0