gpt4 book ai didi

python - 如何在 Python 中使用 HTTPPasswordMgrWithDefaultRealm()

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:33 25 4
gpt4 key购买 nike

我需要编写一些使用 ftp 代理的 python ftp 代码。代理不需要身份验证,但我连接的 ftp 服务器需要。我有以下代码,但收到“I/O 错误(ftp 错误):501 USER 格式:代理用户:auth-method@destination。正在关闭连接。”错误。我的代码是:

import urllib2

proxies = {'ftp':'ftp://proxy_server:21'}
ftp_server = ' ftp.somecompany.com '
ftp_port='21'
username = 'aaaa'
password = 'secretPW'

password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm( )
top_level_url = ftp_server
password_mgr.add_password(None , top_level_url, username, password)

proxy_support = urllib2.ProxyHandler(proxies )
handler = urllib2.HTTPBasicAuthHandler(password_mgr )
opener = urllib2.build_opener(proxy_support )
opener = urllib2.build_opener(handler )
a_url = 'ftp://' + ftp_server + ':' + ftp_port + '/'
print a_url

try:
data = opener.open(a_url )
print data
except IOError, (errno, strerror):
print "I/O error(%s): %s" % (errno, strerror)

如果我能得到任何帮助,我将不胜感激。

最佳答案

我使用以下看起来相似的代码块,除了我在我使用的 top_level_url 中包含协议(protocol)(当然它是 http)。

您也可以尝试在每次 build_opener 调用后调用 install_opener,然后使用 urllib2.urlopen

auth_handler = urllib2.HTTPBasicAuthHandler()
auth_handler.add_password(realm='RESTRICTED ACCESS',
uri='http://website.com',
user='username',
passwd='password')
opener = urllib2.build_opener(auth_handler)
urllib2.install_opener(opener)
urllib2.urlopen('http://website.com/....')

关于python - 如何在 Python 中使用 HTTPPasswordMgrWithDefaultRealm(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/426298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com