最終**
post請求的引數就不會直接顯示,而是隱藏起來。像賬號密碼這種私密的資訊,就應該用post的請求。如果用get請求的話,賬號密碼全部會顯示在**上。可以這麼理解,get是明文顯示,post是非明文顯示。
通常,get請求會應用於獲取網頁資料,比如我們之前學的requests.get()。post請求則應用於向網頁提交資料,比如提交表單型別資料(像賬號密碼就是網頁表單的資料)
cookies是伺服器為了標記使用者,儲存在使用者本地的資料,它裡面也儲存了使用者的登入資訊,同時它有一定的時效性,過期就會失效。
import requests
#引入requests。
url =
' '#把請求登入的**賦值給url。
headers =
#加請求頭,前面有說過加請求頭是為了模擬瀏覽器正常的訪問,避免被反爬蟲。
data =
#把有關登入的引數封裝成字典,賦值給data。
login_in = requests.post(url,headers=headers,data=data)
cookies = login_in.cookies
#提取cookies的方法:呼叫requests物件(login_in)的cookies屬性獲得登入的cookies,並賦值給變數cookies。
url_1 =
''data_1 =
comment = requests.post(url_1,headers=headers,data=data_1,cookies=cookies)
#呼叫cookies的方法就是在post請求中傳入cookies=cookies的引數。
print
(comment.status_code)
session是會話過程中,伺服器用來記錄特定使用者會話的資訊。
import requests
#引用requests。
session = requests.session(
)#用requests.session()建立session物件,相當於建立了乙個特定的會話,幫我們自動保持了cookies。
url =
''headers =
data =
session.post(url,headers=headers,data=data)
url_1 =
''data_1 =
comment = session.post(url_1,headers=headers,data=data_1)
print
(comment)
#列印comment
import requests,json
#引入requests和json模組。
session = requests.session(
)
url =
' 'headers =
data =
session.post(url, headers=headers, data=data)
cookies_dict = requests.utils.dict_from_cookiejar(session.cookies)
#把cookies轉化成字典。
print
(cookies_dict)
#列印cookies_dict
cookies_str = json.dumps(cookies_dict)
#呼叫json模組的dumps函式,把cookies從字典再轉成字串。
print
(cookies_str)
#列印cookies_str
f =open
('cookies.txt'
,'w'
)#建立名為cookies.txt的檔案,以寫入模式寫入內容。
f.write(cookies_str)
#把已經轉成字串的cookies寫入檔案。
f.close(
)#關閉檔案。
cookies_txt =
open
('cookies.txt'
,'r'
)#以reader讀取模式,開啟名為cookies.txt的檔案。
cookies_dict = json.loads(cookies_txt.read())
#呼叫json模組的loads函式,把字串轉成字典。
cookies = requests.utils.cookiejar_from_dict(cookies_dict)
#把轉成字典的cookies再轉成cookies本來的格式。
session.cookies = cookies
#獲取cookies:就是呼叫requests物件(session)的cookies屬性。
import requests, json
session = requests.session(
)headers =
defcookies_read()
: cookies_txt =
open
('cookies.txt'
,'r'
) cookies_dict = json.loads(cookies_txt.read())
cookies = requests.utils.cookiejar_from_dict(cookies_dict)
return
(cookies)
# 以上4行**,是cookies讀取。
defsign_in()
: url =
' 'data =
session.post(url, headers=headers, data=data)
cookies_dict = requests.utils.dict_from_cookiejar(session.cookies)
cookies_str = json.dumps(cookies_dict)
f =open
('cookies.txt'
,'w'
) f.write(cookies_str)
f.close(
)# 以上5行**,是cookies儲存。
defwrite_message()
: url_2 =
''data_2 =
return
(session.post(url_2, headers=headers, data=data_2)
)try
: session.cookies = cookies_read(
)except filenotfounderror:
sign_in(
)num = write_message(
)if num.status_code ==
200:
print
('成功啦!'
)else
: sign_in(
) num = write_message(
)
第八重關 泛化物品
泛化物品是一種思想 1 考慮到這樣一件物品,它並沒有固定的費用和價值,但是它的價值隨著你分配給它的費用而變化。2 在揹包容量為 v 的揹包問題中,泛化物品是乙個定義域為 3 泛化物品就是乙個陣列 題目 hdu 1712 題意非常簡潔 include includeusing namespace st...