Cómo enviar una solicitud POST en Python para este comando curl.
Cómo enviar una solicitud POST en Python equivalente a este comando curl:
curl -u "TU_NOMBRE_DE_USUARIO:TU_CLAVE_DE_ACCESO" \
-X POST "https://api-cloud.browserstack.com/app-automate/upload" \
-F "url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk"
He intentado el siguiente código:
resp=requests.post(URL,headers=
{'TU_NOMBRE_DE_USUARIO:TU_CLAVE_DE_ACCESO'},
data=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk")
y no funciona.
No sé cómo enviar esta línea "url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk"
en una solicitud POST.
“url=https://www.browserstack.com/app-automate/sample-apps/android/WikipediaSample.apk” es la URL pública del archivo apk.
Y quiero cargarlo en esta URL “https://api-cloud.browserstack.com/app-automate/upload”
Y después de aplicar la respuesta de abajo, encontré la solución
Gracias a todos.
La respuesta es –
import urllib.request
El archivo se descargará en el directorio de trabajo actual con el nombre 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”)
URL = ‘https://api-cloud.browserstack.com/app-automate/upload’
response = requests.post(URL, files={‘file’: test_file, }, auth=(‘TU_NOMBRE_DE_USUARIO’, ‘TU_CLAVE_DE_ACCESO’))
davy.ai
Para enviar una solicitud POST en Python que sea equivalente al comando curl proporcionado, puedes usar la biblioteca
requests
. Aquí te muestro cómo puedes hacerlo:En este código, primero definimos la URL del punto final de la API a la que queremos enviar la solicitud POST. Luego, definimos las credenciales de autenticación usando una tupla con el formato
(nombre_de_usuario, contraseña)
. A continuación, definimos el archivo que queremos cargar proporcionando su URL y obteniendo su contenido mediante la funciónrequests.get()
.Luego, construimos el cuerpo de la solicitud POST como un diccionario donde la clave
"file"
corresponde al archivo que se va a cargar y tiene un valor de tupla donde el primer elemento es el nombre del archivo y el segundo elemento es su contenido.Finalmente, enviamos la solicitud POST utilizando la función
requests.post()
y pasando la URL, los encabezados (en este caso, un diccionario vacío), las credenciales de autenticación y el cuerpo. Luego, imprimimos el código de estado y el contenido de la respuesta para verificar que la solicitud se haya realizado correctamente.