前言
傳送post的請求參考例子很簡單,實際遇到的情況卻是很複雜的,首先第乙個post請求肯定是登入了,但登入是最難處理的。登入問題解決了,後面都簡單了。
一、檢視官方文件
2.檢視python傳送get和post請求的案例
>>> import requests
>>> r = requests.get('')
>>> r.status_code
200>>> 'python is a programming language' in r.content
true
... or post:
>>> payload = dict(key1='value1', key2='value2')
>>> r = requests.post('', data=payload)
>>> print(r.text)
,...
}二、傳送post請求
1.用上面給的案例,做個簡單修改,發個post請求
2.payload引數是字典型別,傳到如下圖的form裡
三、json
1.post的body是json型別,也可以用json引數傳入。
2.先導入json模組,用dumps方法轉化成json格式。
3.返回結果,傳到data裡
四、headers
1.以禪道登入為例,模擬登陸,這裡需新增請求頭headers,可以用fiddler抓包
2.講請求頭寫成字典格式
headers =
五、禪道登入參考**
# coding:utf-8
# coding:utf-8
import requests
# 禪道host位址
host = ""
def login(s,username,psw):
url = host+"/zentao/user-login.html"
h =
body1 =
# s = requests.session() 不要寫死session
r1 = s.post(url, data=body1, headers=h)
# return r1.content # python2的return這個
return r1.content.decode("utf-8") # python3
def is_login_sucess(res):
if "登入失敗,請檢查您的使用者名稱或密碼是否填寫正確。" in res:
return false
elif "parent.location=" in res:
return true
else:
return false
if __name__ == "__main__":
s = requests.session()
a = login(s, "admin", "e10adc3949ba59abbe56e057f20f883e")
result = is_login_sucess(a)
print("測試結果:%s"%result)
傳送post的請求參考例子很簡單,實際遇到的情況卻是很複雜的,首先第乙個post請求肯定是登入了,但登入是最難處理的。登入問題解決了,後面都簡單了。
一、檢視官方文件
2.檢視python傳送get和post請求的案例
>>> import requests
>>> r = requests.get('')
>>> r.status_code
200>>> 'python is a programming language' in r.content
true
... or post:
>>> payload = dict(key1='value1', key2='value2')
>>> r = requests.post('', data=payload)
>>> print(r.text)
,...
}二、傳送post請求
1.用上面給的案例,做個簡單修改,發個post請求
2.payload引數是字典型別,傳到如下圖的form裡
三、json
1.post的body是json型別,也可以用json引數傳入。
2.先導入json模組,用dumps方法轉化成json格式。
3.返回結果,傳到data裡
四、headers
1.以禪道登入為例,模擬登陸,這裡需新增請求頭headers,可以用fiddler抓包
2.講請求頭寫成字典格式
headers =
五、禪道登入參考**
# coding:utf-8
# coding:utf-8
import requests
# 禪道host位址
host = ""
def login(s,username,psw):
url = host+"/zentao/user-login.html"
h =
body1 =
# s = requests.session() 不要寫死session
r1 = s.post(url, data=body1, headers=h)
# return r1.content # python2的return這個
return r1.content.decode("utf-8") # python3
def is_login_sucess(res):
if "登入失敗,請檢查您的使用者名稱或密碼是否填寫正確。" in res:
return false
elif "parent.location=" in res:
return true
else:
return false
if __name__ == "__main__":
s = requests.session()
a = login(s, "admin", "e10adc3949ba59abbe56e057f20f883e")
result = is_login_sucess(a)
print("測試結果:%s"%result)
python介面自動化二(傳送post請求)
乙個http請求包括三個部分,為別為請求行,請求報頭,訊息主體,類似以下這樣 http協議規定post提交的資料必須放在訊息主體中,但是協議並沒有規定必須使用什麼編碼方式。服務端通過是根據請求頭中的content type欄位來獲知請求中的訊息主體是用何種方式進行編碼,再對訊息主體進行解析。具體的編...
python介面自動化1 傳送get請求
前言 requests模組,也就是老汙龜,為啥叫它老汙龜呢,因為這個官網上的logo就是這只汙龜,接下來就是學習它了。一 環境安裝 1.用pip安裝requests模組 二 get請求 2.這裡的r也就是response,請求後的返回值,可以呼叫response裡的status code方法檢視狀態...
python介面自動化之傳送get(三)
1 安裝requests requests是python的第三方庫,需要進行安裝。安裝之前最好先關閉fiddler cmd win r快捷鍵 輸入 pip install requests 其他命令 解除安裝 pip uninstall requests 檢視全部 pip list 檢視包 pip ...