python 使用 curl 上传文件

python upload file with curl

我正在尝试将 apk 上传到服务器 我以前使用curl上传的代码是这样写的:

curl -u "musername:mypass" -X POST "https://myurl/upload" -F "file=@D:\path\to\location.apk"

我尝试使用 python 和 requests 库制作脚本,如下所示:

response = requests.post(
            self.urlUpload,
            files={"file" : open(self.apkLocation, 'r')},
            auth=(self.BSUsername, self.BSToken)
        )

但它给我错误:

{"error":"Malformed archive"}

谁知道为什么会出现这个错误?

你有没有机会尝试下面这样的东西?

import requests

    files = {
        'file': ('/path/to/app/file/Application-debug.apk', open('/path/to/app/file/Application-debug.apk', 'rb')),
    }
    response = requests.post('https://api-cloud.browserstack.com/app-automate/upload', 
                files=files, 
                auth=('BSUsername ', 'BSToken'))
    print (response.text)#THE APP URL (bs://<hashed appid>) RETURNED IN THE RESPONSE OF THIE CALL

检查 BrowserStack REST API 文档 here