python+requests實現from-data接口類型自動化


如何將from-data的接口類型自動化

1、先通過postman將from-data接口類型調通,在去看代碼的實現過程

 從code中可以清晰的看到在代碼請求的過程中有一個headers、data、files參數上傳。一般from-data的接口類型區別在於多了一個files參數,需要抓包或手工調通之后看代碼的實現過程中有哪些相關的參數。

2、代碼通過files參數來實現:

 直接用files參數傳入不需要更新from-data的頭部信息

def add_file(s, base_url):
    """上傳文件"""
    url = base_url + "接口路徑"
    payload = {
        "size": 15348,
        "file_name": "打卡.xlsx",
        "parent_type": "explorer",
        "parent_node": "fldcnJUimU0tE3VulyWcVAK48Mh"
    }
    files = {
        "file": (
            "打卡.xlsx", open(file_path_1, "rb"), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    }
    r = s.post(url, files=files, data=payload)
    return r

if __name__ == '__main__':
    s = requests.Session()  -- 使用requests庫里session會話功能,將token更新到頭部,便於下個接口調用
    s.headers.update(headers)
    base_url = '域名'
    result = add_file(s, base_url)
    print(result.text)

 3、通過requests_toolbelt插件來進行編碼處理

 用requests_toolbelt插件來實現需要傳入from-data接口的頭部信息,通過傳參變量來更新content-type。

def add_file_1(s, base_url):                       
    """上傳文件"""
    url = base_url + "接口路徑"
    payload = MultipartEncoder(
        fields={
            "size": "15348",
            "file_name": "打卡.xlsx",
            "parent_type": "explorer",
            "parent_node": "fldcnJUimU0tE3VulyWcVAK48Mh",
            "file": ("打卡.xlsx", open(file_path_1, "rb"),         
             "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
        }
    )
    r = s.post(url, data=payload, headers={"Content-Type": payload.content_type}) --更新from-data的content-type 
    return r
if __name__ == '__main__':
s = requests.Session() --使用requests庫里面的session會話,將token更新到頭部,便於下個接口的使用
s.headers.update(headers)
base_url = '域名'
result = add_file_1(s, base_url)
print(result.text)

如何將登錄后的token取出更新到頭部可以參考這篇博客。https://www.cnblogs.com/xdsa/p/15230735.html

 


免責聲明!

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



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