#python #python-requests #request #urllib
#python #python-запросы #запрос #urllib
Вопрос:
Я использую библиотеку API amp; requests для чтения некоторых данных с заданной частотой каждый день, и все работало до недавнего времени. Внезапно я получаю сообщение об ошибке на полпути чтения данных:
ValueError: invalid literal for int() with base 16: b''
During handling of the above exception, another exception occurred:
ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
During handling of the above exception, another exception occurred:
ProtocolError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
Это происходит не спорадически; когда я пытаюсь прочитать данные, я получаю эту ошибку примерно через час. в Интернете я вижу, что она связана с сервером / сетью. Но я не уверен, как это подтвердить или проверить, что я ничего не могу сделать для ее решения.
url = "https://api...."
dflist=[]
for i in range (0,variable1):
with open("/dbfs/tmp/file{}.json".format(i 1)) as f:
data = json.load(f)
data1=json.dumps(data)
payload=str(data).encode("utf-8")
headers = {
'content-type': "application/json; charset=utf-8",
'cache-control': "no-cache",
}
#response = requests.request("POST", url, data=payload, headers=headers)
with requests.request("POST", url, data=payload, headers=headers) as response:
print("RESPONSE: ", response)
for j in range(20):
geturl= str(response.text)
getresponse = requests.request("GET", geturl)
if getresponse.status_code!=200:
time.sleep(20)# wait 20 seconds
j=j 1
else:
jsondata=getresponse.text
jdata=json.loads(jsondata)
df=pd.DataFrame(jdata)
print("df length")
print(len(df))
dflist.append(df)
break
i=i 1
Кроме того, я был бы признателен, если бы кто-нибудь мог дать совет о том, как устранить неполадки в чем-то подобном? Я не часто работаю с API и URL-запросами, поэтому не уверен в основах проверки в этой ситуации