如何使用 urllib2 使用带身份验证的代理访问 ftp/http 服务器

2024-01-03

更新:请参阅我的解决方案的评论。

我的Python代码使用urllib2使用用户名和密码通过代理访问 FTP 服务器。我同时使用urllib2.ProxyHandler and a urllib2.ProxyBasicAuthHandler通过以下方式实现这一点urllib2 示例 http://docs.python.org/2/library/urllib2.html#urllib2-examples:

1 import urllib2
2 proxy_host = 'host.proxy.org:3128'  # only host name, no scheme (http/ftp)
3 proxy_handler = urllib2.ProxyHandler({'ftp': proxy_host}) 
4 proxy_auth_handler = urllib2.ProxyBasicAuthHandler()
5 proxy_auth_handler.add_password(None, proxy_host, proxy_user, proxy_passwd)
6 opener_thru_proxy = urllib2.build_opener(proxy_handler, proxy_auth_handler)
7 conn = opener_thru_proxy.open('ftp://ftp.ftpserver.org/targetfile.txt')
8 print conn.read()

代码停在第 7 行。

错误消息是:

    conn = urllib2.urlopen(remote_fn)           
  File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.6/urllib2.py", line 391, in open
    response = self._open(req, data)
  File "/usr/lib/python2.6/urllib2.py", line 409, in _open
    '_open', req)
  File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.6/urllib2.py", line 1344, in ftp_open
    fw = self.connect_ftp(user, passwd, host, port, dirs, req.timeout)
  File "/usr/lib/python2.6/urllib2.py", line 1365, in connect_ftp
    fw = ftpwrapper(user, passwd, host, port, dirs, timeout)
  File "/usr/lib/python2.6/urllib.py", line 856, in __init__
    self.init()
  File "/usr/lib/python2.6/urllib.py", line 862, in init
    self.ftp.connect(self.host, self.port, self.timeout)
  File "/usr/lib/python2.6/ftplib.py", line 134, in connect
    self.welcome = self.getresp()
  File "/usr/lib/python2.6/ftplib.py", line 209, in getresp
    resp = self.getmultiline()
  File "/usr/lib/python2.6/ftplib.py", line 195, in getmultiline
    line = self.getline()
  File "/usr/lib/python2.6/ftplib.py", line 185, in getline
    if not line: raise EOFError
urllib2.URLError: <urlopen error ftp error: >

我通过定义环境变量测试了代理服务器ftp_proxy并使用访问 ftp 文件

wget --proxy-user=proxy_user --proxy-password=proxy_passwd ftp://ftp.ftpserver.org/targetfile.txt

并成功从 ftp 服务器下载文件。

如何改进我的代码以使用带身份验证的代理访问 ftp 站点?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 urllib2 使用带身份验证的代理访问 ftp/http 服务器 的相关文章

随机推荐

  • Material UI v4 AppBar 不会更改主题

    我有 Appbar 在 MUI v4 中
  • 匹配任何数字的正则表达式模式包括 1-9 除 2

    我需要一个正则表达式模式来匹配任何数字 包括 1 9 数字 除了 2 我的尝试 1 9 2 但这对我不起作用 另一种方法 D2 这意味着 不是非数字或 2
  • TypeORM 创建表后插入基本主数据(类型、状态等)

    我有问题想问你 我正在使用 NestJS 和 typeORM 我试图在创建表后将默认值插入到表中 例如 我有一个优先级表 我需要插入高 中 低值 我尝试了 typeorm 和 NestJS 文档中的所有内容 并从这里阅读了相关问题和答案 我
  • 如何使用 testng.xml 从大型 TestNG 套件执行一项测试?

    我有一个包含大量方法的 TestNG 套件 我使用构建在 TestNG 运行器之上的包装器来执行该套件 除了一个之外 套件中的所有测试均失败 我应该在 testng xml 中编写什么来执行那个失败的测试 明显的解决方案是为所有方法分配唯一
  • svnserve VS mod_dav_svn

    我们计划在网络本身相当慢的环境中安装 Subversion 存储库 之前在那里使用的VCS是VSS 使用它简直就是一场噩梦 不仅仅是因为它的 特性 所以 我的问题是 Svnserve 和 apache 模块之间的选择 我知道由于无状态协议
  • ASP.NET MVC 是否已准备好用于业务应用程序(集成第 3 方控件/组件)?

    我的公司已经开发 并且仍在继续开发 一个大型 ASP NET 业务应用程序 我们的平台是 ASP NET 2 0 使用一些 ASP NET Ajax 是广泛使用第三方组件 如网络网格 组合框 树视图 日历和日程安排控件等 现在 我对 ASP
  • 使用linq生成直接更新而不需要select

    大家好 我仍在学习 LINQ 所以如果这很幼稚 请原谅我 当您直接处理 SQL 时 您可以生成带有条件的更新命令 而无需运行 select 语句 当我使用 linq 时 我似乎遵循以下模式 选择实体 修改实体 提交更改 我想做的是使用 li
  • 为什么允许从一个构造函数调用另一个构造函数?

    我正在查看有关 SO 的其他问题 但我没有真正看到我的问题的解释 我读到从另一个构造函数调用构造函数 使用 this 关键字 是valid 但我不明白why这是有效的 以前 我认为每个对象只能有一个构造函数 构造函数链接似乎打破了这一逻辑
  • PostgreSQL 删除触发器

    我正在 PGAdminIII 上创建一个触发器 我想在其中删除另一个表上具有外键的行 但是我遇到了语法错误 并且找不到问题所在 CREATE TRIGGER clienteDelete BEFORE DELETE ON cliente FO
  • OCR应用前的图像清理

    过去几个小时我一直在尝试 PyTesser 它是一个非常好的工具 关于 PyTesser 的准确性 我注意到以下几点 包含图标 图像和文本的文件 准确度 5 10 仅包含文本的文件 已删除图像和图标 准确率 50 60 拉伸文件 这是最好的
  • 打印带有演示者备注的 xaringan 幻灯片

    是否可以打印带有演示者备注的 Xaringan 幻灯片 我知道我可以使用这些方法打印幻灯片 https github com yihui xaringan wiki Export Slides to PDF https github com
  • 如何将 Leiningen 模板部署到 Clojars?

    我在本地计算机上创建了一个 Leiningen 项目 然后通过执行以下操作将其转换为模板 lein create template webdb 然后我安装模板 cd webdb lein install 这允许我在本地基于模板创建项目 le
  • 缺乏后视的解决方法?

    回答另一位用户的问题 https stackoverflow com q 28044217 3725745我将下面的正则表达式组合在一起来匹配字符串中的数字 b 0 9 0 9 b 在提供答案后 我注意到 如果由于 b 与句点字符匹配而导致
  • GSON 2.0+ 从两个不同的序列化字段名称之一反序列化字段

    在我的 Java 类中 我有一个声明如下的字段 protected double a 0 0 在反序列化以重构此类的 JSON 中 该字段可以显示为两个不同名称之一 遗留问题 例如 JSON 字段可能如下所示 a 9 57 或者像这样 d
  • 获取指向字节数组的指针的不安全方法

    此行为在 C 中有效吗 public class MyClass private byte data public MyClass this data new byte 1024 public unsafe byte getData byt
  • Scrapy 和 Python。名称错误

    我正在尝试计算当前的货币汇率 请您看一下是否发现错误 items py import scrapy class CurrItem scrapy Item country scrapy Field currency scrapy Field
  • 如何使用系统属性替换 Typesafe 配置文件中的占位符?

    我需要参考java io tmpdir在我的 application conf 文件中 我打印了我的配置内容 val c ConfigFactory load System err println c root render 它使它像 de
  • R 上下文、环境和带有“.Call”的调用堆栈

    有版本吗parent frame or sys calls或其他可以直接从 C 代码调用的通用上下文函数 Call 环顾四周Rinternals h等等 我似乎找不到类似的东西 我能想到的最好的办法是 my fun lt function
  • 如何根据js中的父位置动态调整div的大小

    我一直在编写一个代码 该代码展示了如何动态调整 div 的大小 然而 代码被困在 1 个元素上 我做了一些工作来转换为多个 div 调整器 现在 在调整大小时 鼠标和 div 之间会出现一个空格 我的目标是确保根据父位置 使用精确的鼠标位置
  • 如何使用 urllib2 使用带身份验证的代理访问 ftp/http 服务器

    更新 请参阅我的解决方案的评论 我的Python代码使用urllib2使用用户名和密码通过代理访问 FTP 服务器 我同时使用urllib2 ProxyHandler and a urllib2 ProxyBasicAuthHandler通