Ошибка получения недопустимого литерала для int() и ChunkedEncodingError: (‘Соединение разорвано: неполное чтение ..’) на полпути?

#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-запросами, поэтому не уверен в основах проверки в этой ситуации