Skip to content

四、cookie、ip代理、retrying、timeout

1、session(自动处理cookie)

python
session=requests.session()    #实例化session对象
response=session.post(url,data=data)

#使用session访问登录以后的页面
session.get(url.text)

2、ip代理

1、代理ip

代理ip是一个ip,是一个代理服务器,代理服务器能够帮我们向目标服务器转发请求。

  1. 正向代理:给客户端做代理,让服务器不知道客户端的真实身份,保护自己的ip地址不会被封,要封也是封代理ip

  2. 反向代理:给服务器做代理,让浏览器不知道服务器的真实地址

  3. 正向代理保护客户端,反向代理保护服务端

  4. ip代理分为三种:

    1. 透明代理:服务器知道我们使用了代理ip,也知道我们真实ip
    2. 匿名代理:服务器能够检测到使用了代理ip,但不知道真实ip
    3. 高匿代理:服务器既不能检测到使用代理ip,也不知道真实ip

2、代理ip的使用

python
proxies={
    #第一种写法:
    "http":"1.1.1.1:9527"
    #第二种写法
    # "http":"http://12.34.56.79:9527"
}
response=requests.get(url,headers=headers,proxies=proxies)
print(res.content.decode())

代理ip无效的话,会自动使用运行代码的本机ip

3、retrying模块

python
from retrying import retry

# retry 装饰器,表明希望在请求失败时进行重试,但尝试次数不超过3次
@retry(stop_max_attempt_number=3)	
def test():
    url="https://www.baidu.com/"
    response=requests.get(url)

try:
    test()
except:
    print("完成了")py

4、timeout

python
url="https://www.baidu.com/"
response=requests.get(url,timeout=2)	#2秒内不响应,就报错
print(response.content.decode())