Вы можете обойти сброс соединения (и другие проблемы с сетью), выполнив повторные попытки. По сути, вы можете указать запросам на автоматическую повторную попытку при возникновении проблемы.
Вот как вы можете это сделать:
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
session = requests.Session()
# in case of error, retry at most 3 times, waiting
# at least half a second between each retry
retry = Retry(total=3, backoff_factor=0.5)
adapter = HTTPAdapter(max_retries=retry)
session.mount('http://', adapter)
session.mount('https://', adapter)
Тогда вместо:
r = requests.get(new_url)
Вы можете использовать:
r = session.get(new_url)
См. также документацию для Retry
для полного обзора сценария ios, который он поддерживает.