问题标签 [urllib2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6678 浏览

python - Python:将大文件下载到本地路径并设置自定义 http 标头

我正在寻找从 http url 下载文件到本地文件。该文件足够大,我想下载它并将其保存为块,而不是read()write()整个文件保存为一个巨大的字符串。

的界面urllib.urlretrieve本质上就是我想要的。但是,我看不到通过 下载时设置请求标头的方法 urllib.urlretrieve,这是我需要做的事情。

如果我使用,我可以通过它的对象urllib2设置请求头。Request但是,我没有看到将urllib2文件直接下载到磁盘上的路径(如urlretrieve. 相反,我似乎将不得不使用循环来迭代返回的数据块,自己将它们写入文件并检查我们何时完成。

urllib.urlretrieve构建一个可以工作但允许传入请求标头的函数的最佳方法是什么?

0 投票
4 回答
7223 浏览

python - Getting TTFB (time till first byte) for an HTTP Request

Here is a python script that loads a url and captures response time:

Since my timer is wrapped around the whole request/response (including read()), this will give me the TTLB (time to last byte).

I would also like to get the TTFB (time to first byte), but am not sure where to start/stop my timing. Is urllib2 granular enough for me to add TTFB timers? If so, where would they go?

0 投票
3 回答
19752 浏览

python - 从 HTTP 转义 Python 字符串

我从 HTTP 标头中获得了一个字符串,但它已被转义.. 我可以使用什么函数来取消转义它?

urllib.unquote() 会是要走的路吗?

0 投票
3 回答
13973 浏览

python - PayPal 的 Python 接口 - urllib.urlencode 非 ASCII 字符失败

我正在尝试实现 PayPal IPN 功能。基本协议如下:

  1. 客户从我的网站重定向到 PayPal 的网站以完成付款。他登录他的帐户,授权付款。
  2. PayPal 在我的服务器上调用一个页面,将详细信息作为 POST 传递。详细信息包括一个人的姓名、地址和付款信息等。
  3. 我需要从我的处理页面内部调用 PayPal 网站上的一个 URL,传回上面传递的所有参数,以及一个名为 'cmd' 的附加参数,其值为 '_notify-validate'。

当我尝试对 PayPal 发送给我的参数进行 urllib.urlencode 编码时,我得到:

我了解 urlencode 进行 ASCII 编码,在某些情况下,用户的联系信息可以包含非 ASCII 字符。这是可以理解的。我的问题是,如何使用 urllib2.urlopen(req) (或其他方法)对非 ASCII 字符进行编码以发布到 URL

细节:

我阅读了 PayPal 原始请求中的参数如下(GET 用于测试):

我用于从处理页面将请求发送回 PayPal 的代码是:

显然,只有当某人的姓名或地址或用于 PayPal 支付的其他字段不属于 ASCII 范围时,才会出现问题。

0 投票
9 回答
150512 浏览

python - 更改 urllib2.urlopen 上的用户代理

我如何下载带有除 urllib2.urlopen 上的默认用户代理以外的用户代理的网页?

0 投票
2 回答
2716 浏览

python - 当连接中断时,读取由 urllib2 生成的流永远不会恢复

在尝试使我的一个 python 应用程序在连接中断的情况下更加健壮时,我发现调用 urllib2 生成的 http-stream 的读取函数可能会永远阻止脚本。

我认为读取函数将超时并最终引发异常,但是当连接在读取函数调用期间中断时,情况并非如此。

以下是会导致问题的代码:

(如果您尝试使用该脚本,您可能需要多次中断连接,然后才能达到该脚本永远无法恢复的状态)

我通过 Winpdb 观看了脚本,并截取了脚本永远无法恢复的状态(即使网络再次可用)。

Winpdb http://img10.imageshack.us/img10/6716/urllib2.jpg

有没有办法创建一个即使网络连接中断也能继续可靠工作的python脚本?(我宁愿避免在额外的线程中这样做。)

0 投票
2 回答
3505 浏览

python - 在没有名称属性的 Python 中提交表单

背景:

在 Python 中使用 urllib 和 urllib2 可以进行表单提交。

您首先创建一个字典。

然后你使用 urllib 的 urlencode 方法来转换这个字典。

您现在可以使用 urllib2 发出 url 请求,并将变量 params 作为辅助参数传递,第一个参数是 url。

据我了解,urlencode 会自动将字典编码为 html 并添加输入标签。它将键作为名称属性。它需要字典中的值作为名称属性的值。Urllib2 通过 HTTP POST 请求发送此 html 代码。

问题:

如果您提交的 html 代码以标准方式格式化,并且 html 标记输入具有 name 属性,这没关系。

但是,存在html代码格式不正确的情况。并且 html 输入标签只有一个 id 属性没有 name 属性。是否有另一种方法可以通过 id 属性访问输入标签?还是可能有另一种方式?

解决方案:

?

0 投票
2 回答
9852 浏览

python - 用 Python 下载网页及其所有资源文件

我希望能够使用 Python 下载页面及其所有相关资源(图像、样式表、脚本文件等)。我(有点)熟悉 urllib2 并且知道如何下载单个 url,但在我开始在 BeautifulSoup + urllib2 上进行黑客攻击之前,我想确保没有与“wget --page-requisites http ”等效的 Python ://www.google.com ”。

具体来说,我有兴趣收集有关下载整个网页(包括所有资源)所需时间的统计信息。

谢谢马克

0 投票
1 回答
3136 浏览

python - 使用post方法和python下载文件

我需要一些帮助来获取从网站下载的 tar 文件。该网站设置为一个表单,您可以在其中选择所需的文件并单击提交,然后会打开下载窗口供您选择位置。

我试图在代码中做同样的事情(所以我不必手动选择每个文件)。到目前为止,我已经让 python 2.5.2 返回响应,但它在 a 中socket._fileobject,我现在不知道如何将它转换为我计算机上的文件。

下面是 python shell 的输出和我采取的步骤

0 投票
2 回答
22270 浏览

python - 使用 Python 和 urllib2 进行 Windows 身份验证

我想从需要我的 Windows 用户名和密码的网页中获取一些数据。

到目前为止,我有:

urllib2 支持吗?我找到了Python NTLM,但这需要我输入我的用户名和密码。有没有办法以某种方式获取身份验证信息(例如,如果我更改了network.automatic-ntlm-auth.trusted-uris设置,就像 IE 或 Firefox 一样)。

在msander的回答后编辑

所以我现在得到了这个:

这是很好的撕毁socket_server.py(见这里)。但我收到错误 400 - 错误请求。有没有人有任何进一步的想法?

谢谢,

多姆