requests保持登錄session ,cookie 和 token


一、request提供了一個一個叫做session的類,來實現客戶端和服務端的會話保持

# coding:utf-8
import requests
url = "https://passport.cnblogs.com/user/signin"

headers = {
                  頭部信息已省略

                   }
payload = {"input1":"xxx",
                "input2":"xxx",
                "remember":True}

s = requests.session()
r = s.post(url, json=payload, headers=headers,verify=False)
print r.json()

二、獲取登錄后的cookie 和 token

請求成功之后獲取cookies,然后吧cookies存到固定配置文件里面

    def post(self):
        try:
            r = requests.post(self.url, headers=self.headers, params=self.params, data=self.data, timeout=float(timeout))
            # response.raise_for_status()
            result =decodeToBase64(r.content)
            response = json.loads(result)
            cookies = r.cookies.get_dict()   #  獲取登錄之后 cookie
            localReadConfig.set_headers("cookies", str(cookies))   #把cookie存到配置文件里面去
            return response
        except TimeoutError:
            self.logger.error("Time out!")
            return None

獲取登錄后的token

def login():
    """
    login
    :return: token
    """
    # set url
    url = common.get_url_from_xml('login')
    localConfigHttp.set_url(url)

    # set header
    token = localReadConfig.get_headers("token_v")
    header = {"token": token}
    localConfigHttp.set_headers(header)

    # set param
    data = {"email": localLogin_xls[0][3],
            "password": localLogin_xls[0][4]}
    localConfigHttp.set_data(data)

    # login
    response = localConfigHttp.post().json()
    token = common.get_value_from_return_json(response, "member", "token")
    return token

保持登錄的接口請求,就獲取cookie然后傳到頭部header里面去,token傳到body里面去,然后就可以發布成功了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM