text=input("請輸入驗證碼")
def zhihulogin():
#構建乙個session物件,可以儲存cookie(相當於urllib中用的cookiejar)
sess= requests.session()
#請求報頭
#首先獲取登陸頁面,找到需要post的資料,同時記錄當前頁的cookie值
html=sess.get("",headers=headers).text
bs=beautifulsoup(html,"lxml")
#獲取之前get的頁面的_xsrf值
#_xsrf防止csrf攻擊(跨站請求偽造),通常叫做跨域攻擊,是一種利用**對使用者的一種信任機制來做壞事。
#跨域攻擊一般偽裝成**信任的使用者請求(利用cookie),盜取使用者資訊,欺騙web伺服器
#所以**會通過設定乙個隱藏字段存放這個md5字串,這個字串用來校驗使用者cookie和伺服器cookie
_xsrf=bs.find("input",attrs=).get("value")
#驗證碼的鏈結獲取,觀察發現r的值是根據unix時間戳變得
captcha_url="" % (time.time()*1000)
#傳送請求得到資料流
captcha_data=sess.get(captcha_url,headers=headers).content
text=captcha(captcha_data)
data=
resqonse=sess.post("",data=data,headers=headers)
print(resqonse.text)
#獲取個人主頁原始碼
#myhomepageresqonse=sess.get("主頁url",headers=headers)
if __name__=="__main__":
zhihulogin()
Python 使用request傳送http請求
requests.get headers response requests.post login headers headers,data data response requests.post login allow redirects false 注 若不禁止重定向,則當響應是302時,req...
Python使用Request傳送POST請求
http協議規定post請求的資料必須放在訊息主體中,但是並沒有規定編碼方式,因此可以使用多種方式對其進行編碼。伺服器端通過請求頭的中content type欄位來獲知請求的訊息主體以何種方式編碼。具體的編碼方式包括 multipart form data 示例 import requests im...
Python學習之request庫的使用
一 requests庫簡介 requests庫是乙個簡潔的能夠簡單地處理http請求的第三方庫,它的最大優點是程式編寫過程更接近正常url訪問過程。另外,request庫支援非常豐富的鏈結訪問功能,包括國際網域名稱和url獲取 http長連線和連線快取 http會話和cookie保持 瀏覽器使用風格...