Передача UID / PWD в полезную нагрузку REST в файл JSON - PullRequest
0 голосов
/ 20 сентября 2018

Мне нужно отправить несколько JSON-файлов (по ~ 10 тыс. Значений каждый) в службу REST, что обычно является простым процессом.Предостережение есть;эта конкретная служба требует, чтобы ID и API_KEY передавались в полезной нагрузке.Я могу легко выполнить одноразовую операцию, но получаю ошибку 500 при попытке передать учетные данные в файле JSON полезной нагрузки.

Одноразовый код (работает нормально)

import requests
import json

url = '<my-url>'
payload = {
    'client_id' :'<my-id>',
    'api_key'   :'<my-key>',
    "data": { 
                  <my-data>
          }}
head = {'Content-Type': 'application/json'}
r = requests.post(url, headers=head, data=json.dumps(payload))
print(r.status_code)

Пример файла JSON (с добавленными идентификатором и KEY)

[
{"client_id" :"<my-id>",
"api_key":"<my-key>",
"data":{
 {"val1": "string", "val2": "string", "val3": float}
}}
]

Код для обработки файла JSON

import requests
import json

with open ('data.json', 'r') as payload:
    url = '<my-url>'
    head = {'Content-Type': 'application/json'}
    r = requests.post(url, headers=head, data=payload)
    print(r.status_code)

Я предполагаю, что файл JSON неверен с добавленным UID / PWD.Любое понимание было бы очень полезно.

1 Ответ

0 голосов
/ 20 сентября 2018

В JSON строки должны быть разделены ", а не '.

Поскольку ваш первый пример уже работает нормально, для дальнейшего устранения неполадок я предлагаю изменить его, чтобы записать JSON в файл, а затемпосмотрите, работает ли вторая версия кода с этим файлом.Если да, проблема в вашем текущем файле JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...