[英]how to send post request in python for this curl command
how to send a POST request in python equivalent with this curl command如何在与此 curl 命令等效的 python 中发送 POST 请求
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
-X POST "https://api-cloud.browserstack.com/app-automate/upload" \
-F "url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk"
I tried code below:我尝试了下面的代码:
resp=requests.post(URL,headers=
{'YOUR_USERNAME:YOUR_ACCESS_KEY'},
data=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk")
and its not working.它不工作。
I don't know how to send this line "url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk"
in POST request.我不知道如何在 POST 请求中发送此行"url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk"
。 "url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk" this is the public url of apk. “url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk”这是apk的公开url。 and want to upload at this url "https://api-cloud.browserstack.com/app-automate/upload"并想在此 url “https://api-cloud.browserstack.com/app-automate/upload”上传
And after applying answer from below, I find the solution Thank you Everyone.从下面应用答案后,我找到了解决方案谢谢大家。 Answer is -答案是——
import urllib.request导入 urllib.request
#file will download in current working directory with name app-release.apk urllib.request.urlretrieve('https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk', 'app-release.apk') #file 将下载到当前工作目录,名称为 app-release.apk urllib.request.urlretrieve('https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk', 'app-发布.apk')
test_file = open("app-release.apk", "rb") test_file = open("app-release.apk", "rb")
URL = 'https://api-cloud.browserstack.com/app-automate/upload' response = requests.post(URL, files={'file': test_file, }, auth=('YOUR_USERNAME', 'YOUR_ACCESS_KEY')) URL = 'https://api-cloud.browserstack.com/app-automate/upload' 响应 = requests.post(URL, files={'file': test_file, }, auth=('YOUR_USERNAME', 'YOUR_ACCESS_KEY' ))
You can do like this:你可以这样做:
import requests
files = { 'file': ('url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk',
open('url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk',
'rb')),}
URL = 'https://api-cloud.browserstack.com/app-automate/upload'
response = requests.post(URL, files=files, auth=('YOUR_USERNAME', 'YOUR_ACCESS_KEY'))
print (response.text)
It should work fine now.它现在应该可以正常工作了。
try this尝试这个
import requests
files = {
'url': (None, 'https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk'),
}
response = requests.post('https://api-cloud.browserstack.com/app-automate/upload', files=files, auth=('YOUR_USERNAME', 'YOUR_ACCESS_KEY'))
or this或这个
import requests
files = {
'url': 'https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk'
}
response = requests.post('https://api-cloud.browserstack.com/app-automate/upload', files=files, auth=('YOUR_USERNAME', 'YOUR_ACCESS_KEY'))
'''
And The answer of the solution, That is work for me is解决方案的答案,这对我有用的是
import urllib.request导入 urllib.request
#file will download in current working directory with name app-release.apk #file 将下载到当前工作目录,名称为 app-release.apk
urllib.request.urlretrieve('https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk', 'app-release.apk') urllib.request.urlretrieve('https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk', 'app-release.apk')
test_file = open("app-release.apk", "rb") test_file = open("app-release.apk", "rb")
URL = 'https://api-cloud.browserstack.com/app-automate/upload' response = requests.post(URL, files={'file': test_file, }, auth=('YOUR_USERNAME', 'YOUR_ACCESS_KEY')) URL = 'https://api-cloud.browserstack.com/app-automate/upload' 响应 = requests.post(URL, files={'file': test_file, }, auth=('YOUR_USERNAME', 'YOUR_ACCESS_KEY' ))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.