Proxy authentication required

Discussion in 'Python' started by gervaz, Mar 21, 2011.

  1. gervaz

    gervaz Guest

    Hi all,
    I've got to download some web pages but I'm behind a proxy. So far
    this is what I've used without any successful result receiving the
    error: "urllib.error.HTTPError: HTTP Error 407: Proxy Authentication
    Required ( The ISA Server requires auth
    orization to fulfill the request. Access to the Web Proxy filter is
    denied. )":

    hc = urllib.request.HTTPCookieProcessor()
    hp = urllib.request.ProxyHandler({"http": "10.242.38.251:80",
    "username": "domain\username", "password": "password"})
    opener = urllib.request.build_opener(hc, hp)
    urllib.request.urlopen("http://www.google.it/")

    Any suggestion?

    Thanks,

    Mattia
     
    gervaz, Mar 21, 2011
    #1
    1. Advertising

  2. gervaz

    Chris Rebert Guest

    On Mon, Mar 21, 2011 at 2:38 AM, gervaz <> wrote:
    > Hi all,
    > I've got to download some web pages but I'm behind a proxy. So far
    > this is what I've used without any successful result receiving the
    > error: "urllib.error.HTTPError: HTTP Error 407: Proxy Authentication
    > Required ( The ISA Server requires auth
    > orization to fulfill the request. Access to the Web Proxy filter is
    > denied.  )":
    >
    > hc = urllib.request.HTTPCookieProcessor()
    > hp = urllib.request.ProxyHandler({"http": "10.242.38.251:80",
    > "username": "domain\username", "password": "password"})


    Remember that backslash is used for string escapes in Python; so that
    should be "domain\\username" in order to get 1 literal backslash. I
    suspect this is the cause of your proxy authentication problem.

    > opener = urllib.request.build_opener(hc, hp)


    Are you sure that's the right order for the handlers? (I don't know myself.)

    > urllib.request.urlopen("http://www.google.it/")


    Cheers,
    Chris
    --
    Windows, Y U use backslash for stuff!?
    http://blog.rebertia.com
     
    Chris Rebert, Mar 21, 2011
    #2
    1. Advertising

  3. gervaz

    python Guest

    On Mar 21, 7:02 pm, Chris Rebert <> wrote:
    > On Mon, Mar 21, 2011 at 2:38 AM, gervaz <> wrote:
    > > Hi all,
    > > I've got to download some web pages but I'm behind a proxy. So far
    > > this is what I've used without any successful result receiving the
    > > error: "urllib.error.HTTPError: HTTP Error 407: Proxy Authentication
    > > Required ( The ISA Server requires auth
    > > orization to fulfill the request. Access to the Web Proxy filter is
    > > denied.  )":

    >
    > > hc = urllib.request.HTTPCookieProcessor()
    > > hp = urllib.request.ProxyHandler({"http": "10.242.38.251:80",
    > > "username": "domain\username", "password": "password"})

    >
    > Remember that backslash is used for string escapes in Python; so that
    > should be "domain\\username" in order to get 1 literal backslash. I
    > suspect this is the cause of your proxy authentication problem.
    >
    > > opener = urllib.request.build_opener(hc, hp)

    >
    > Are you sure that's the right order for the handlers? (I don't know myself.)
    >
    > > urllib.request.urlopen("http://www.google.it/")

    >
    > Cheers,
    > Chris
    > --
    > Windows, Y U use backslash for stuff!?http://blog.rebertia.com


    did this a long time ago when behind a corporate proxy server worked
    then might be a start for you
    I am fuzzy on the details.

    import httplib
    import base64
    import getpass
    def getWebPage(userName='YourUserName',httpPage='http://
    weather.noaa.gov/weather/current/KRIC.html',outFilePath=None):
    # 1. connect to the proxy
    h1 = httplib.HTTP("proxyconf",)

    # 2. give the absolute URL in the request
    h1.putrequest('GET', 'http://weather.noaa.gov/weather/current/
    KRIC.html')

    h1.putheader('Accept', 'text/html')
    h1.putheader('Accept', 'text/plain')
    password = getpass.getpass()
    # 3. set the header with a base64 encoding of user-id:passwd
    userString = "%s:%s" % (userName,password)
    auth = "Basic " + base64.encodestring(userString)
    h1.putheader('Proxy-Authorization', auth)
    h1.endheaders()

    # 4. get the page
    errcode, errmsg, headers = h1.getreply()

    print errcode
    print errmsg
    print headers

    f=h1.getfile()
    if(not outFilePath):
    for line in f.readlines():
    print line
    else:
    try:
    outFile = open(outFilePath,'w')
    # yada yaha
     
    python, Mar 22, 2011
    #3
  4. gervaz

    gervaz Guest

    On 22 Mar, 00:02, Chris Rebert <> wrote:
    > On Mon, Mar 21, 2011 at 2:38 AM, gervaz <> wrote:
    > > Hi all,
    > > I've got to download some web pages but I'm behind a proxy. So far
    > > this is what I've used without any successful result receiving the
    > > error: "urllib.error.HTTPError: HTTP Error 407: Proxy Authentication
    > > Required ( The ISA Server requires auth
    > > orization to fulfill the request. Access to the Web Proxy filter is
    > > denied.  )":

    >
    > > hc = urllib.request.HTTPCookieProcessor()
    > > hp = urllib.request.ProxyHandler({"http": "10.242.38.251:80",
    > > "username": "domain\username", "password": "password"})

    >
    > Remember that backslash is used for string escapes in Python; so that
    > should be "domain\\username" in order to get 1 literal backslash. I
    > suspect this is the cause of your proxy authentication problem.
    >
    > > opener = urllib.request.build_opener(hc, hp)

    >
    > Are you sure that's the right order for the handlers? (I don't know myself.)
    >
    > > urllib.request.urlopen("http://www.google.it/")

    >
    > Cheers,
    > Chris
    > --
    > Windows, Y U use backslash for stuff!?http://blog.rebertia.com


    Hi Cris,
    I had already tested the solution with the '\\' but the result is the
    same. As per the arguments order, build_opener thakes *handlers as
    argument so no problem.

    Mattia
     
    gervaz, Mar 22, 2011
    #4
  5. gervaz

    gervaz Guest

    On 22 Mar, 09:34, gervaz <> wrote:
    > On 22 Mar, 00:02, Chris Rebert <> wrote:
    >
    >
    >
    >
    >
    > > On Mon, Mar 21, 2011 at 2:38 AM, gervaz <> wrote:
    > > > Hi all,
    > > > I've got to download some web pages but I'm behind a proxy. So far
    > > > this is what I've used without any successful result receiving the
    > > > error: "urllib.error.HTTPError: HTTP Error 407: Proxy Authentication
    > > > Required ( The ISA Server requires auth
    > > > orization to fulfill the request. Access to the Web Proxy filter is
    > > > denied.  )":

    >
    > > > hc = urllib.request.HTTPCookieProcessor()
    > > > hp = urllib.request.ProxyHandler({"http": "10.242.38.251:80",
    > > > "username": "domain\username", "password": "password"})

    >
    > > Remember that backslash is used for string escapes in Python; so that
    > > should be "domain\\username" in order to get 1 literal backslash. I
    > > suspect this is the cause of your proxy authentication problem.

    >
    > > > opener = urllib.request.build_opener(hc, hp)

    >
    > > Are you sure that's the right order for the handlers? (I don't know myself.)

    >
    > > > urllib.request.urlopen("http://www.google.it/")

    >
    > > Cheers,
    > > Chris
    > > --
    > > Windows, Y U use backslash for stuff!?http://blog.rebertia.com

    >
    > Hi Cris,
    > I had already tested the solution with the '\\' but the result is the
    > same. As per the arguments order, build_opener thakes *handlers as
    > argument so no problem.
    >
    > Mattia- Nascondi testo citato
    >
    > - Mostra testo citato -


    Further investigating the issue the proxy needs NTLM authentication,
    for that reason no solution so far works. I'm using py3.

    Thanks,

    Mattia
     
    gervaz, Mar 22, 2011
    #5
  6. gervaz

    Chris Rebert Guest

    On Tue, Mar 22, 2011 at 3:57 AM, gervaz <> wrote:
    > On 22 Mar, 09:34, gervaz <> wrote:
    >> On 22 Mar, 00:02, Chris Rebert <> wrote:
    >> > On Mon, Mar 21, 2011 at 2:38 AM, gervaz <> wrote:
    >> > > Hi all,
    >> > > I've got to download some web pages but I'm behind a proxy. So far
    >> > > this is what I've used without any successful result receiving the
    >> > > error: "urllib.error.HTTPError: HTTP Error 407: Proxy Authentication
    >> > > Required ( The ISA Server requires auth
    >> > > orization to fulfill the request. Access to the Web Proxy filter is
    >> > > denied.  )":

    >>
    >> > > hc = urllib.request.HTTPCookieProcessor()
    >> > > hp = urllib.request.ProxyHandler({"http": "10.242.38.251:80",
    >> > > "username": "domain\username", "password": "password"})

    <snip>
    > Further investigating the issue the proxy needs NTLM authentication,
    > for that reason no solution so far works. I'm using py3.


    pycurl apparently supports NTLM proxies, but it's not Python 3-compatible:
    http://pycurl.sourceforge.net/

    python-ntlm seems to be Python 3-compatible, but I don't know whether
    it handles proxying:
    http://code.google.com/p/python-ntlm/

    Cheers,
    Chris
    --
    http://blog.rebertia.com
     
    Chris Rebert, Mar 23, 2011
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ily
    Replies:
    1
    Views:
    23,609
    Juan T. Llibre
    Oct 31, 2005
  2. samy coco via .NET 247

    Proxy authentication required

    samy coco via .NET 247, Apr 23, 2004, in forum: ASP .Net Web Services
    Replies:
    1
    Views:
    467
    Jan Tielens
    Apr 23, 2004
  3. Scott O'Donnell

    request failed with HTTP status 407: Proxy Authentication Required

    Scott O'Donnell, Feb 14, 2005, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    673
    Scott O'Donnell
    Feb 14, 2005
  4. UJ

    Proxy Authentication Required - Error 407

    UJ, Aug 15, 2006, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    394
  5. Sau

    HTTP Status 407: Proxy Authentication Required

    Sau, Apr 9, 2009, in forum: ASP .Net Web Services
    Replies:
    2
    Views:
    2,942
Loading...

Share This Page