1. 程式人生 > >requests傳送post、get請求

requests傳送post、get請求

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)