Python “如何忽略”;输入专用代理访问的用户名";促使

Python “如何忽略”;输入专用代理访问的用户名";促使,python,proxy,urllib,Python,Proxy,Urllib,我将urllib.urlopen与一些http代理一起使用,有时(可能是在它们需要授权时)会在控制台中打印以下提示: Enter username for Private Proxy Access (country) at xxx.xxx.xxx.xxx:xxxx 发生这种事我怎么能提出例外 下面是一个例子: from urllib import urlopen p = '64.79.209.238:36867' print urlopen('http://google.com', prox

我将urllib.urlopen与一些http代理一起使用,有时(可能是在它们需要授权时)会在控制台中打印以下提示:

Enter username for Private Proxy Access (country) at xxx.xxx.xxx.xxx:xxxx
发生这种事我怎么能提出例外

下面是一个例子:

from urllib import urlopen

p = '64.79.209.238:36867'
print urlopen('http://google.com', proxies={'http': 'http://'+p})

如果提到的代理过早死亡,这里有一些替换
64.79.197.36:43444
64.79.209.203:34968
64.79.197.36:43444
209.59.207.197:3438
urlib.urlencode
永远不会打印该消息。这种方法从一开始就不会影响网络。你的问题在别的地方

我猜你正在后台运行另一个守护进程来打印消息


请提供准确的可复制代码和信息。触发消息的代理示例也不错。

urllib.urlencode
从不打印该消息。这种方法从一开始就不会影响网络。你的问题在别的地方

我猜你正在后台运行另一个守护进程来打印消息


请提供准确的可复制代码和信息。触发消息的代理示例也很好。

您需要覆盖
FancyUrOpener。提示\u user\u passwd
方法:

class AuthorizationRequired(Exception):

    pass


class MyURLOpener(urllib.FancyURLopener):

    def prompt_user_passwd(self, host, realm):
        raise AuthorizationRequired()


opener = MyURLOpener(proxies={'http': 'http://'+p})
fp = opener.open(url)

您需要覆盖FancyURLopener。提示\u user\u passwd方法:

class AuthorizationRequired(Exception):

    pass


class MyURLOpener(urllib.FancyURLopener):

    def prompt_user_passwd(self, host, realm):
        raise AuthorizationRequired()


opener = MyURLOpener(proxies={'http': 'http://'+p})
fp = opener.open(url)

我对丹尼斯的代码做了一些修改:

import urllib
urllib.FancyURLopener.prompt_user_passwd = lambda *a, **k: (None, None)

它将完全禁用密码提示

我对Denis的代码进行了一些调整,使其符合以下要求:

import urllib
urllib.FancyURLopener.prompt_user_passwd = lambda *a, **k: (None, None)

它将完全禁用密码提示

,对不起,我现在才注意到我写的是urlencode而不是urlopen,对不起,我现在才注意到我写的是urlencode而不是urlopen