этот код генерирует случайные 50 строк json и отправляет сообщения через curl.Из-за ограничений нельзя постить после 33676. Есть ли способ загрузить json напрямую в grpcurl или curl.Иначе, как зациклить этот код 50 раз и добавить выходной json в один файл.
Если мы используем подпроцесс в python, он откроется, считайте, что число символов json и cmd превышает 33676
если мы отправляем json-файл более чем 33676 символов, он отвечает слишком длинным содержимым в cmd и командой tooo long в оболочке
import faker
import json
from faker import Faker
import random
from random import randint
import subprocess
import json
import os
#subprocess.call([""])
from pprint import pprint
ids= ('5cda','6cda')
fake = Faker('en_US')
for ind in ids:
cont = []
#Overall dictionary with first and user_ids
dct = {}
for idx in range(50):
sms = {
"id":"AB-asfgw",
"body": fake.text(),
"mime": fake.ean(),
"hashed": fake.ean(),
"pid": fake.ean(),
"user_id": ind,
"text": fake.sentence()
}
cont.append(sms)
dct['messages'] = cont
dct['user_id'] = ind
#print(dct)
f_name = '{}.json'.format(ind)
with open(f_name, 'w') as fp:
#Save the dictionary
json.dump(dct, fp, indent=4)
print('saved {}'.format(f_name))
auth = "authorization: token 1234
file = "5cda.json"
fd=open("5cda.json")
json_content = fd.read()
fd.close()
subprocess.run(["curl", "-plaintext","-H", auth,"-d",json_content,"-format","json","100.10.10.10:1000","service/methodname"])
auth1 = "authorization: token 12345"
file1 = "6cda.json"
fd1=open("6cda.json")
json_content1 = fd1.read()
fd1.close()
subprocess.run(["curl", "-plaintext","-H", auth1,"-d",json_content1,"-format","json",""100.10.10.10:1000","service/methodname"])