urequests takes 20-30s to throw an OSError if it doesn't get a response. We can't figure out where this timeout comes from. There is no timeout in the original requests library
We thought we'd try to add a shorter timeout following
I've had no success with trying to timeout the urequests socket or running it in a separate thread, so for now I'm using wdt=machine.WDT(timeout=9*1000). Not the best solution but it stops the battery going flat while it hangs around waiting for failed connections.