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

标签:python,requests
0
投稿

猜你喜欢

  • Python 发送邮件方法总结

    2022-04-05 21:17:06
  • Python环境下搭建属于自己的pip源的教程

    2021-12-19 05:57:54
  • 详解MYSQL的备份还原(PHP实现)

    2023-10-06 10:44:23
  • IE下文本被折行的解决方案

    2009-06-28 16:13:00
  • 深度解析Django REST Framework 批量操作

    2021-05-18 03:03:21
  • Python中利用ItsDangerous快捷实现数据加密

    2022-06-09 23:24:41
  • 回答XML与HTML的区别

    2007-12-03 10:58:00
  • 利用tkinter改变下拉列表(Combobox)的选项值

    2023-07-20 03:10:37
  • PHP开发技巧之PHAR反序列化详解

    2023-11-15 02:23:45
  • PHP lcfirst()函数定义与用法

    2023-06-05 01:25:20
  • 提升JavaScript运行速度之循环篇[译]

    2009-02-20 12:54:00
  • PHP封装CURL扩展类实例

    2023-07-17 15:19:50
  • 编码问题引起的折腾

    2009-07-03 12:43:00
  • 如何创建CSS的对象,获取合适的粒度

    2010-07-09 13:10:00
  • 用javascript给表格加滚动条

    2008-10-15 10:03:00
  • 使用 Python 处理3万多条数据只要几秒钟

    2023-08-03 15:21:06
  • 如何判断用户是否非正常离开聊天室?

    2010-01-18 20:30:00
  • SQL存储过程介绍

    2008-02-13 18:52:00
  • 使用WingPro 7 设置Python路径的方法

    2022-05-23 03:59:56
  • 了解WEB页面工具语言XML(四)应用分类

    2008-09-05 17:18:00
  • asp之家 网络编程 m.aspxhome.com