[Python] Python request.get fails to get an answer for a url I can open on my browser

Discussão em 'Python' iniciado por Stack, Julho 25, 2025.

  1. Stack

    Stack Membro Participativo

    I'm learning how to use python requests (Python 3) and I am trying to make a simple requests.get to get the HTML code from several websites. Although it works for most of them, there is one I am having trouble with.

    When I call : http://es.rs-online.com/ everything works fine:

    In [1]: import requests
    ...:html = requests.get("http://es.rs-online.com/")
    In [2]:html
    Out[2]: <Response [200]>


    However, when I try it with http://es.farnell.com/, python is unable to solve the address and keeps working on it forever. If I set a timeout, no matter how long, the requests.get() will always be interrupted by the timeout and by nothing else. I have also tried adding headers but it didn't solve the issue. Also, I don't think the error has anything to do with the proxy that I'm using, as I am able to open this website in my browser. Currently, my code looks like this:

    import requests
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.76 Safari/537.36'}
    html = requests.get("http://es.farnell.com/",headers=headers, timeout=5, allow_redirects = True )


    After 5 secs, I get the expected timeout notification.

    ReadTimeout: HTTPConnectionPool(host='es.farnell.com', port=80): Read timed out. (read timeout=5)


    Does anyone know what could be the issue?

    Continue reading...

Compartilhe esta Página