python介面自動化2 傳送post請求

2022-06-26 13:48:09 字數 3655 閱讀 8682

前言

傳送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 ...