問題タブ [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 に答える
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: httplib2 アプリ エンジン 1.8.0 という名前のモジュールがありません

ImportError: No module named httplib2をインポートするとエラーが発生しますhttplib2。私は最新バージョンの App Engine ランチャー (1.8.0.802) を使用しており、/GoogleappEngineLauncher.app/..../lib/httplib2/httplib2 Eclipse の下のすべてのファイルを含む lib フォルダーを見つけて問題なくインポートできることを確認できますが、アプリを実行するとエラーが発生します。

from apiclient import discoveryフォルダー内にある do: でも同じことが起こりますgoogle-api-python-client

何が間違っているのかわからない

助けていただければ幸いです!!

0 投票する
1 に答える
2246 参照

python - 大きな Python JSON 投稿リクエストがタイムアウトする

Python を使用して、基本的に非常に大きな JSON ファイル (約 420kB) のデータを投稿しようとしています。問題は、ローカル サーバーに投稿するときは問題なく動作しますが、外部サーバーではタイムアウトになることです。コードは次のようになります。

そして、私が得るエラーは次のようなものです:

これについて何か考えはありますか?ソケット接続がローカルでタイムアウトしているのではないかと考えていましたが、これを修正する方法がわかりません。「ソケットのインポート」ライブラリからのすべてのソケット呼び出しは効果がないようです。

アップデート

いくつかの異なるネットワークで試してみましたが、スクリプトは現在使用している比較的遅いネットワーク以外のすべてのネットワークで動作するため、タイムアウトの問題のようです。したがって、選択は、何らかの方法でデータをストリーミングするか、タイムアウトを効果的に増やす方法を見つけることになります。

0 投票する
0 に答える
406 参照

python - GET ツイートの 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

しかし、ファイアウォールの後ろに座ることなく、自宅のPCで同じ認証を使用しているため、認証が正しいことはわかっています。結果を得るための提案は高く評価されます。

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 投票する
1 に答える
2865 参照

python-2.7 - Python、1 つのネットワーク接続を介して多数の HTTP リクエストを送信する

私は、Fedora Commons リポジトリで 20,000 個のオブジェクトにデータが存在するかどうかをチェックする必要がある python 2.7 スクリプトに取り組んでいます。基本的にこれは、リポジトリ (Tomcat サーバー上で実行される) 上の 20,000 の異なる URL に 20,000 の HTTP リクエストを送信することを意味します。

私はその仕事をするスクリプトを書きましたが、サーバーのシステム管理者から、ネットワーク接続を開きすぎて問題が発生するという警告を受けました。

私のスクリプトは、これまでのところ urllib2 を使用して HTTP リクエストを作成しています。

実際、このコードは、リクエストごとに 1 つの新しいネットワーク接続を開きます。

他のライブラリを使用してリクエストを作成しようとしましたが、すべてのリクエストに対して同じ接続を再利用する方法が見つかりませんでした。以下の両方のソリューションは、数が実際に少ない場合でも、多くのネットワーク接続を開きます (実際、両方のソリューションは、100 の HTTP 要求に対して 1 つの接続を開くように見えますが、私の場合はまだ約 200 の接続です)。

httplib:

リクエスト:

接続数がはるかに多い場合でも、理想的には、すべてのリクエストに対して 1 つまたはごく少数の接続を使用したいと考えています。それは可能ですか?この数は、システムまたはサーバーに関連する接続ごとの 100 リクエストですか? ちなみに、Apacheサーバーを指すリクエストも作成しようとしましたが、結果は同じでした.