问题标签 [httplib2]

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 投票
1 回答
538 浏览

python - ImportError:Heroku 上没有名为 httplib2 的模块

这是我托管的python代码中的导入库heroku

它显示错误ImportError: No module named httplib2??任何人都可以告诉我为什么会发生这种情况以及是否有任何纠正方法?

0 投票
1 回答
1180 浏览

python - 将文件中以换行符分隔的 JSON 上传到 BigQuery

我最近编写了一个 Python 脚本,用于将本地的、以换行符分隔的 JSON 文件上传到 BigQuery 表。它与此处官方文档中提供的示例非常相似。我遇到的问题是我尝试上传的文件中的非 ASCII 字符正在使我的 POST 请求无效。

这是脚本的相关部分......

...这是我在运行时得到的堆栈跟踪...

我正在使用 Python 2.7 和以下库:distribute (0.6.36) google-api-python-client (1.1) httplib2 (0.8) oauth2client (1.1) pyOpenSSL (0.13) python-gflags (2.0) wsgiref (0.1.2) )

有没有其他人有这个问题?

似乎 httplib2 的请求方法将“body”作为字符串,这意味着它稍后需要在通过网络发送之前进行编码。我一直在寻找一种将编码覆盖为 UTF-8 的方法,但到目前为止还没有运气。

提前致谢!

编辑:

我可以通过做两件事来解决这个问题:1.) 读取我的原始文件内容而不进行解码。(我也可以在上面的第一次尝试中对“body”进行编码......) 2.)将 url 和 headers 编码为字节。

代码最终看起来像这样:

0 投票
1 回答
1722 浏览

python - 这是httplib2的错误吗

我的 python 程序使用 httplib2.Http 发出 http 请求。一旦我需要生成一个请求,我就会创建一个 httplib2.Http 对象,这样我的程序就会频繁地创建/销毁 httplib2.Http 对象。

我发现由于达到最大打开文件数,我的程序很容易崩溃。检查 /proc//fd,打开的套接字 fd 太多。这个问题让我不得不深入研究 httplib2 源代码。

然后我发现,在 httplib2.Http._conn_request 方法中,有这样的代码:

这表明只有当 http 方法为 HEAD 时才会关闭套接字。也许 httplib2 想以某种方式重用套接字。但是 Http 类没有 close() 方法。这意味着当我发出 Http 请求时,套接字在我的进程终止之前不会关闭。

然后我修改了代码:

在那之后,我的程序运行良好。

但是我仍然很好奇这是否真的是 httplib2 的错误,因为 httplib2 是一个非常古老且常见的库。

0 投票
1 回答
3525 浏览

google-app-engine - ImportError: No module named httplib2 App engine 1.8.0

ImportError: No module named httplib2导入时出现错误httplib2。我有最新版本的 App Engine 启动器(1.8.0.802),我可以看到包含/GoogleappEngineLauncher.app/..../lib/httplib2/httplib2 Eclipse 下所有文件的 lib 文件夹能够找到它并毫无问题地导入,但是当我运行我的应用程序时出现错误。

do:from apiclient import discovery也在文件夹中google-api-python-client

不知道我做错了什么

帮助表示赞赏!

0 投票
1 回答
2246 浏览

python - 大型 python JSON 发布请求超时

我正在尝试使用 python 发布一些数据,本质上是一个非常大的 JSON 文件(大约 420kB)。问题是它在发布到本地服务器时工作正常,但对于任何外部服务器都会超时。代码如下所示:

我得到的错误类似于:

对此有什么想法吗?我在想也许本地的套接字连接超时,但我不知道如何解决这个问题。“导入套接字”库中的所有套接字调用似乎都没有效果。

更新

我现在已经在几个不同的网络上尝试过了,这似乎是一个超时问题,因为除了我现在使用的相对较慢的网络之外,该脚本适用于所有其他网络。所以选择要么以某种方式流式传输数据,要么找出一种有效增加超时的方法。

0 投票
0 回答
406 浏览

python - GET Tweets 的 OAuth2 和 httplib2 错误

我正在尝试从搜索 api 获取推文,但无法继续,因为我不确定问题是什么。

代码。

分别和内容如下。

响应

“状态”:“401”

内容

\r\n访问被拒绝\r\n\r\n\r\n\r\n
\r\n\r\n

\r\n\r\n\r\n\r\n拒绝访问(authentication_failed)\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n您的凭据可能未通过身份验证:“凭据丢失。”。在验证您的凭据之前,您将不被允许访问。\r\n\r\n\r\n\r\n\r\n这通常是由不正确的用户名和/或密码引起的,但也可能是由于由于网络问题。\r\n\r\n\r\n\r\n\r\n \r\n
如需帮助,请联系您的网络支持团队。\r\n\r\n\r\n\r \n
\r\n\r\n\r\n

但我知道身份验证是正确的,因为我在家用电脑中使用相同的身份验证,而没有坐在防火墙后面。任何获得结果的建议都将不胜感激。

0 投票
2 回答
13783 浏览

python - 包括httplib2

所以我在导入 httplib2 时遇到了常见的问题,我遇到了这个和类似的答案。但现在我必须大胆,问一个愚蠢的问题,我如何将模块包含/链接到我的项目中?

0 投票
1 回答
1359 浏览

python - 将安装的文件添加到 PYTHONPATH

这是对这个问题的跟进。python setup.py install我已经使用我在桌面上执行此操作的文件安装了 httplib2 。现在我必须在 Eclipse 的 PYTHONPATH 中包含已安装的模块,我的问题是如何?我假设它涉及查找 httplib2 的安装位置,然后添加该路径,但我不知道它的安装位置或如何轻松找到它。

更新: 我正在运行最新版本的 OSX 和 eclipse。我正在使用构建配置在本地运行它,这需要一个浏览器,以便我可以在 localhost 8080 上看到该页面。此时我已将其site-packages/httplib2-0.8-py2.7.egg作为文件夹包含在外部(因为它不允许我将其作为鸡蛋包含在内)图书馆。我已经重新启动了eclipse和我的mac,但是`

ImportError:没有名为 httplib2 的模块

0 投票
2 回答
4936 浏览

python - httplib2 中的 SSL 版本 - EOF 发生违反协议

我正在使用 httplib2 向我拥有的 REST 服务发出 HTTPS GET 请求,但出现错误:

除了 PHP curl 需要设置为使用 SSL v3 的小例外,所有其他客户端(浏览器、Java 客户端等)运行良好。

我四处搜索,似乎确实是关于 SSL 版本的错误,但我似乎找不到在 httplib2 中更改它的方法。除了更改源代码中的以下行之外,还有什么方法可以解决它:

0 投票
1 回答
2865 浏览

python-2.7 - python,通过一个网络连接发送多个HTTP请求

我正在编写一个 python 2.7 脚本,该脚本必须在 Fedora Commons 存储库中检查 20'000 个对象中是否存在某些数据。基本上,这意味着将 20'000 个 HTTP 请求发送到存储库(在 Tomcat 服务器上运行)上的 20'000 个不同的 url。

我写了一个脚本来完成这项工作,但是服务器系统管理员警告我它打开了太多的网络连接,这会导致一些麻烦。

到目前为止,我的脚本使用 urllib2 来发出 HTTP 请求。

实际上,这段代码会为每个请求打开一个新的网络连接。

我曾尝试使用其他库来发出请求,但找不到任何方法为所有请求重用相同的连接。下面的两种解决方案仍然打开许多网络连接,即使它们的数量非常低(实际上这两种解决方案似乎都为 100 个 HTTP 请求打开一个连接,在我的情况下仍然是大约 200 个连接)。

httplib:

要求:

即使连接数要好得多,理想情况下,我也希望对所有请求使用一个或很少的连接。这甚至可能吗?每个连接的 100 个请求数是与系统相关还是与服务器相关?顺便说一句,我还尝试让请求指向 Apache 服务器,结果是一样的。