requests通過接口上傳文件


如何利用requests上傳文件的操作:

測試接口如圖:

抓包發現post請求需要傳遞參數如下:

代碼實現如下:需要帶上cookies信息,files需要傳遞文件名稱,傳遞文件的路徑以二進制方式傳遞,文件的格式。

import requests

url = "http://admin.cdnzutuan.cn/api/a/upload/uploadappbanner"
files = {
    "file":("藍天白雲.jpg",open(r"D:\ico圖標文件\藍天白雲.jpg","rb"),"image/jpeg")
}
cookies = {"Cookie": "Cookie: UM_distinctid=170258c85f45d-0918e82b1498a7-2393f61-151800-170258c85f613d; _qddaz=QD.sv7ymv.3dl2m6.k6dsillj; _admin=dHlskxdaUR2vKQZm8rZlQKcuE6KQ6pvXIj6b12d%2BApdNICp5qCFgwkaD93/AjJURkNs7F3yRRzRJUgnBchAh6IeukZrUilucspVI3h7mSY0SNAHZq0TauFDiWbvX6BXPpuePV6nyL%2BnDpFebbHtCEisarA%2B3UpQ8/EP3qxCgSzj95/YRW45zimakG1DpQK3Whi1VmQUlZfHW9BEDd6so9HviWGFDG1A4rIcTse6hrS8%2BcNoIZgZcz7PJUHyyGOJ6j33mKyP0qNIGSPZqfcbaGCh/KUR%2BrPhf8udtg2/6w8nfm38qJ8kDR%2BXCQPA1cm5O; _admin_nick=superadmin"}
res = requests.post(url=url,cookies=cookies,files=files)
print(res.status_code)
print(res.text)

瀏覽器抓包返回信息如下:

requests接口返回信息如下:

因cookie有效期的問題,封裝了一個登錄后拿到cookie,再去請求上傳文件的接口的方法:

import requests


class File_Upload():
    def __init__(self):
        '''登錄操作'''
        self.url = "http://admin.cdnzutuan.cn/api/a/adminuser/login"
        self.json = {
            "LoginName": "superadmin",
            "LoginPwd": "mg123456"
        }
        self.headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"}
        self.res = requests.post(self.url, self.json, self.headers)

    def uploadFile(self):
        '''上傳文件'''
        self.url = "http://admin.cdnzutuan.cn/api/a/upload/uploadappbanner"
        self.files = {
            "file": ("藍天白雲.jpg", open(r"D:\ico圖標文件\藍天白雲.jpg", "rb"), "image/jpeg")
        }
        res = requests.post(url=self.url, cookies=self.res.cookies, files=self.files)
        print(res.status_code)
        print(res.text)


if __name__ == '__main__':
    fu = File_Upload()
    fu.uploadFile()

 


免責聲明!

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



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