Está bien, me rindo. Estoy tratando de publicar el contenido de un archivo que contiene JSON. El contenido del archivo se ve así:
{ "id”:99999999, "orders":[ { "ID”:8383838383, "amount":0, "slotID":36972026 }, { "ID”:2929292929, "amount":0, "slotID":36972026 }, { "ID”:4747474747, "amount":0, "slotID":36972026 }] }
Aquí está el código que probablemente está fuera de lugar:
#!/usr/bin/env python3 import requests import json files = {'file': open('example.json', 'rb')} headers = {'Authorization' : '(some auth code)', 'Accept' : 'application/json', 'Content-Type' : 'application/json'} r = requests.post('https://api.example.com/api/dir/v1/accounts/9999999/orders', files=files, headers=headers)
Esto debería funcionar, pero es para archivos muy grandes.
import requests url = 'https://api.example.com/api/dir/v1/accounts/9999999/orders' headers = {'Authorization' : '(some auth code)', 'Accept' : 'application/json', 'Content-Type' : 'application/json'} r = requests.post(url, data=open('example.json', 'rb'), headers=headers)
Si desea enviar un archivo más pequeño, envíelo como una cadena.
contents = open('example.json', 'rb').read() r = requests.post(url, data=contents, headers=headers)
En primer lugar, su archivo json no contiene json válido. como en "id”
-aquí la comilla de cierre es diferente a la comilla de apertura. Y otros campos de ID tienen el mismo error. Hágalo así "id"
.
ahora puedes hacerlo asi
import requests import json with open('example.json') as json_file: json_data = json.load(json_file) headers = {'Authorization' : '(some auth code)', 'Accept' : 'application/json', 'Content-Type' : 'application/json'} r = requests.post('https://api.example.com/api/dir/v1/accounts/9999999/orders', data=json.dumps(json_data), headers=headers)
import requests import json with open('example.json') as json_file: json_data = json.load(json_file) auth=('token', 'example') r = requests.post('https://api.example.com/api/dir/v1/accounts/9999999/orders', json=json_data, auth=auth)