问题标签 [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 回答
999 浏览

python - Grooveshark 提前关闭连接 (httplib.BadStatusLine)

我正在尝试连接到grooveshark。因为这个 python 是我选择的语言。但我撞到了一堵砖墙。看起来grooveshark最近改变了他们协议的一部分,或者我可能遇到了python的限制。

我正在与来自 github 的 JackTheRipper51 “一起”工作,他为grooveshark 制作了这个库:https ://github.com/jacktheripper51/groove-dl 它实际上不是一个库,但我很快重新编码为一个库。

本周早些时候它运行良好,我可以将它用于我的项目。但是 2 天前它开始在 getToken 函数上失败,httplib 开始返回httplib.BadStatusLine: '',从我的研究来看,这意味着服务器提前关闭了连接。

从这项研究中,我开始查看grooveshark 的javascript 和flash 源代码,但这并没有返回任何有价值的东西。所以我做了任何理智的人花了 5 个小时查看反编译的动作脚本而之前从未在其中编写过一行代码,并将其归咎于 Groovesharks 服务器。

具体来说,我认为grooveshark可能会拒绝具有Connection: close标题的连接。因此,我决定在REST ConsoleChrome 的扩展程序中对其进行测试。

我让python脚本转储了它正在编码的json,然后我将它粘贴到Rest Console,点击POST,它返回了预期的数据。我现在确定我是对的并非不可能。

我的下一步是在Connection: keep-alive我拥有的 httplib2(因为它支持)中编码,但问题仍然存在。

我已经在wireshark中进行了测试(删除了https中的SSL,它确实发送了Connection: keep-alive,这会导致grooveshark响应,但是使用https required

我只修改了一小部分代码。

完全改变了 getToken()

我添加了 httplib2 初始化的内容:

我导入了httplib2:

我还重命名了 json 构造函数,只是因为我想要更具描述性。

完整的追溯是:

是什么导致了 BadStatusLine,我该如何解决它。

PS 我知道他们在这件事爆发的前一天有一个 8 小时的会议,我敢打赌这已经在议程上。

更新:JackTheRipper51 通知我,无论您发送什么内容,所有对grooveshark.com/more.php 的ssl 请求都会发生这种情况。这让我相信这是蟒蛇在捉弄我们。

更新 2:

JackTheRipper51 刚刚告诉我它确实是 python。这是他的帖子:

我根本不需要C。准备被激怒。一个简单的

盒子给了我一个令牌... jsontest 在这里

即使 json 在语法上不正确,它也总是至少返回一些标头!一直都是 Python ......

剩下的唯一问题是python为什么要这样做?

0 投票
2 回答
1463 浏览

python - 每个线程具有不同代理的多线程爬虫,正确的方法?

我将编写一个计划在大约 10M 页面上运行的多线程爬虫,为了加快速度,我需要同时获取大约 10~ 个不同的页面。

每个爬虫线程将使用不同的代理并将结果推送到队列,另一方面,我将有更多的工作人员从队列中获取结果,解析并将它们插入数据库。

这是正确的方法吗?在队列中保存太多结果会不会有问题?我应该担心锁吗?(使用队列模块)。哪个 HTTP 库最适合我的需求?(httplib2/urllib2)。

创建每个线程时,我应该将请求对象的新实例传递给每个线程,还是应该移动请求对象并在线程中使用其“getPage”函数?

谢谢。

0 投票
1 回答
481 浏览

python - 获取 OAuth 身份验证 URL 时出错

我在使用 AppHarbor API 之前授权用户的 Python 桌面应用程序中有以下代码。我正在遵循知识库中提到的步骤,并具有以下身份验证代码:

但是,在发送请求时,响应不正确,这是错误:

我在这里缺少什么吗?


编辑:以下是抛出的堆栈跟踪:

在调试到调用后,我到达了发出请求的 httplib2._request 函数

这导致以下页面出现错误响应 = 302(在内容对象中显示)

该函数接下来从内容中删除主体以调用另一个主体设置为无的请求,从而导致引发错误。

0 投票
2 回答
134479 浏览

python - 如何指定python请求http put body?

我正在尝试使用 requests 模块重写一些旧的 python 代码。目的是上传附件。邮件服务器需要以下规范:

有效的旧代码:

没有找到如何在请求中使用正文部分。

我设法做到了以下几点:

但不知道如何用文件内容指定正文部分。

谢谢你的帮助。奥马尔。

0 投票
1 回答
725 浏览

python - 在 Python 中通过代理将 XML 数据发布到服务器

我需要发送一个包含以下格式数据的请求:

通常,它包含一个 XML 查询。假设我希望它发送的服务器是https://some/server并且我的代理是proxy:port_number. 我尝试通过以下方式使用httplib2with :SocksiPy

它有效,但响应不是预期的。显然是因为我需要使用 HTTPS 代理(这是相同的)。我没有任何证书信息 - 类似的工作 Perl 脚本不使用,它将代理定义为环境变量。SocksiPyhasPROXY_TYPE_SOCKS4PROXY_TYPE_SOCKS5constants 但是,我不知道如何使用它们(不定义证书会引发异常)。请指出我如何做到这一点。

也许它适合使用httplibwith xmlrpclib?如何定义这些并放在一起工作?

0 投票
1 回答
1300 浏览

python - Python httplib2 不适用于经过身份验证的资源

我有一个经过身份验证的资源,需要领域、用户名和密码进行身份验证。Python 的 urllib2 有提供领域的规定,而我没有找到 httplib2 的任何规定。以下是使用 urllib2 的示例代码:

这里的“受保护”是身份验证所需的领域。

现在看看 httplib2 :

在 httplib2 的情况下,我没有找到任何提供域字符串进行身份验证的规定。

有没有办法在 httplib2 中添加这个领域字符串?

0 投票
0 回答
249 浏览

oauth-2.0 - window7 64上的Httplib2模块安装

在 Python 中,我使用了 easy_install 并尝试安装 oauth2。然后我发现它需要httplib2。

使用:在命令提示符下easy_install httplib2。并在 site-packages 目录中找到了 httplib2 0.7.6 egg。

但是当我导入 httplib2 时,它会返回: ImportError: No module named httplib2

我可以让'import httplib2'工作的唯一方法是首先在shell中运行httplib2包中的设置文件,然后'import oauth2'。

我不知道该怎么做,因为我需要 oauth2 才能连接到 Yelp API。请帮我解决这个问题,非常感谢你!!!!

0 投票
3 回答
24234 浏览

python - Httplib2 ssl 错误

今天我遇到了一个有趣的问题。

我正在使用foursquare推荐的python库httplib2 raise

在尝试请求 oauth 令牌时

有谁知道为什么会这样?

0 投票
2 回答
7481 浏览

java - Python下间歇性“sslv3 alert handshake failure”

我有一个在 JBoss 下运行的用 Java 编写的 REST API。最近我们将 JVM 从 1.6 更新到了 1.7。这开始导致只有我们正在连接的 Python 客户端出现问题。间歇性地,Python 客户端会出现握手失败。我们编写了一个非常简单的测试来重现问题:

给出以下输出:

第 67 次调用在此运行中失败,但每次运行测试时它在不同的时间失败。

我们的其他客户端(Java、Groovy 和 Ruby)可以正常工作。

如果我将 JVM 切换回 1.6,故障就会停止。

我使用以下方法进行了 openssl 检查:

它返回了这个:

这似乎是正确的,但我不确定。如果每次通话都失败,那将是一回事,但只是随机失败真的很奇怪。有人见过这个吗?

0 投票
3 回答
4008 浏览

python - pyinstaller 编译的文件有 ssl 问题,错误:185090050

我有一些在 python ide 和 cmd 提示符下成功运行在我的 windows 机器上的 python 代码。

在我用 pyinstaller 编译(到一个文件中)后,我收到以下错误:

导致错误的我的代码子集如下:

应该是一个简单的api请求!我已经查看了所有内容并尝试在代码开头使用以下内容:

……那没用。

我还用新的 cacert.pem(重命名为 cacerts.txt)替换了我在 httplib2 文件夹中的 cacerts.txt 文件……但这没有用。

我试图用这个禁用ssl:

...但这没有用。

如何使用 pyinstaller 编译我的 python 脚本,而不会弄乱?