欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

requests发送post、get请求

程序员文章站 2022-04-15 12:15:28
...

1、最基本的POST请求可以使用post方法
  

 response = requests.post("http://www.baidu.com",data=data)


2、穿入data
    这时候就不要使用urlencode进行编码了,直接穿入一个字典进去就可以了。比如请求拉勾网的数据的代码
  

 import request
    url = "https://www.lagou.com"
    header ={
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'
    }

    data = {
        'first':'true',
        'pn':1,
        'kd':'python'
    }

    resp = requests.post(url,header = header, data = data)
    #如果使用代理
    resp = requests.get(url,header = header,proxies=proxy)
    #如果是json数据,直接可以调用json方法
    print(resp.json())

    #发送post请求
    发送post请求非常简单。直接调用'request.post'方法就可以了
    如果返回的是json数据。那么可以调用'response.json()'
    来将json字符串转换为字典或列表

requests处理cookie信息
    cookie:
    如果在一个相应包含了cookie,那么可以利用cookies属性拿到这个返回的cookie值:
    

import requests
    url = 'http://www.XXX.com'
    data = '{"email":"[email protected]","password":"python"}'
    resp = requests.get('http://www.baidu.com')
    print(resp.cookies)
    print(resp.cookies.get_dict())

    session:
    之前使用urllib库,是可以使用opener发送多个请求,多个请求之间是可以共享cookie的。那么如果使用requests,也要达到共享cookie的目的,那么可以使用requests库给我们提供的session对象。这里的session不是web开发中的那个session,这个地方只是一个会话的对象而已。
    #登录
    

session = requests.session()
    session.post(url,data = data,header=header)

    resp = session.get('http://www.renren.com')
    print(resp.text)

 

相关标签: post get