Lỗi Upload với request trong Python

Tình hình là mình muốn upload file lên DooStream.Mình có tham khảo API của nó , cơ mà khi mình thử upload bằng curl thì đc !

 curl -X POST -F "api_key=83898e7z7wd2f0nv0jb60" -F "file=@./1.mp4" https://lo280i.dood.video/upload/01?83898e7z7wd2f0
nv0jb60

Kết quả :slight_smile:

 {"msg":"OK","server_time":"2022-01-14 07:32:22","status":200,"result":[{"download_url":"https://dood.ws/d/29sde5xcfw34","single_img":"https://img.doodcdn.com/snaps/kyek4046o84bodna.jpg","status":200,"filecode":"29sde5xcfw34","splash_img":"https://img.doodcdn.com/splash/kyek4046o84bodna.jpg","canplay":1,"size":"1509477","length":"7","uploaded":"2022-01-14 08:29:52","protected_embed":"https://dood.ws/e/nenr791c5jvcimv45g5wm3fibdi2zsbo","protected_dl":"https://dood.ws/d/evkx2hetfqf5ewkoxrf6fk51qowk9cz6","title":"1"}]}

Cơ mà khi mình sử dụng Python với thư viện request thì không được:

import requests
from requests import api
import json
api_key='83898e7z7wd2f0nv0jb60'
url=('https://doodapi.com/api/upload/server?key='+api_key)
r=requests.get(url).text
y = json.loads(r)
upload_url= (y["result"])
print(upload_url)
params = {
    "api_key": api_key
}
file = {
    "api_key": api_key,
    "file": ('1.mp4', open('1.mp4', 'rb')),
}
   
url=(upload_url+'?'+api_key)
print(url)
response = requests.post(url,params=params,  files=file)
print(response.text)

Lỗi :

https://f277kl.dood.video/upload/01
https://f277kl.dood.video/upload/01?83898e7z7wd2f0nv0jb60
<HTML><BODY><Form name='F1' action='http://dood.tech/' target='_parent' method='POST'><textarea name="op">upload_result</textarea><textarea name="fn">1.mp4</textarea><textarea name="st">0:0:0:You are not allowed to upload files</textarea></Form><Script>document.location='javascript:false';document.F1.submit();</Script></BODY></HTML>

Tài liệu API của Doostream ở đây : https://doodstream.com/api-docs#upload
Mình đã thử đi, thử lại nhiều kiểu khác nhau nhưng không được…Hi vong các bro giúp đỡ !
Thanks ae nhiều :heart_eyes: :heart_eyes:

Thử lại xem nhé

data = {
    "api_key": api_key
}
# bỏ api_key ở đây vì đã truyền qua data
files = {
    "file": ('1.mp4', open('1.mp4', 'rb')),
}
# dùng data thay vì params cho POST request (data=xxx)
response = requests.post(url, data=data,  files=files)
5 Likes

Thanks bạn nhé…Work like a charm

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?