問題タブ [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.
python - Groovesharkが接続を早期に閉じる(httplib.BadStatusLine)
グルーヴシャークに接続しようとしています。このPythonは、私の選択した言語です。しかし、私はレンガの壁にぶつかりました。グルーヴシャークが最近プロトコルの一部を変更したように見えるか、Pythonの制限に達した可能性があります。
私はgithubのJackTheRipper51と「一緒に」作業しています。彼は、grooveshark用にこのライブラリを作成しました。https://github.com/jacktheripper51/groove-dl 実際にはライブラリではありませんが、すぐにライブラリに再コーディングしました。
今週の初めにそれはうまくいきました、そして私はそれを私のプロジェクトに使うことができました。しかし、2日前にgetToken関数で失敗し始め、httplibが戻り始めましたhttplib.BadStatusLine: ''
。これは、私の調査によると、サーバーが接続を早期に閉じたことを意味します。
この調査から、groovesharkのjavascriptとflashソースを調べ始めましたが、それでも価値のあるものは何も返されませんでした。だから私は、逆コンパイルされたアクションスクリプトを5時間かけて、以前に行をコーディングしたことがないという正気の人なら誰でもできることをして、groovesharksサーバーのせいにしました。
具体的には、groovesharkがConnection: close
ヘッダーを特徴とする接続を拒否する可能性があると考えました。REST Console
そのため、Chromeの拡張機能でテストすることにしました。
Pythonスクリプトにエンコードしていたjsonをダンプさせ、それをRest Consoleに貼り付け、POSTを押すと、期待どおりのデータで正常に返されました。私は今、自分が正しいことは不可能ではないと確信していました。
私の次のステップは、私が持っているhttplib2(サポートしているConnection: keep-alive
)でコーディングすることでしたが、問題は解決しません。
私はwiresharkでテストしました(httpsでSSLを削除すると、送信されますConnection: keep-alive
。これにより、groovesharkが応答しますが、https required
)
コードのごく一部のみを変更しました。
完全に変更されたgetToken()
httplib2が初期化するものを追加しました:
httplib2をインポートしました:
また、jsonコンストラクターの名前を変更しました。これは、より説明的なものが必要だったためです。
完全なトレースバックは次のとおりです。
BadStatusLineの原因と、それを修正するにはどうすればよいですか。
PS私は、これが壊れる前日に彼らが8時間の会議を行ったことを知っています、私はあなたにこれが議題にあったに違いありません。
更新:JackTheRipper51は、送信内容に関係なく、grooveshark.com/more.phpへのすべてのSSLリクエストでこれが発生することを通知しました。これは、Pythonが私たちにトリックをプレイしていることを信じさせます。
更新2:
JackTheRipper51は、それが確かにpythonであることを私に知らせました。これが彼の投稿です:
私はCをまったく必要としませんでした。憤慨する準備をしなさい。シンプルな
ボックスは私にトークンを手に入れました...jsontestはここにあります
jsonが構文的に正しくない場合でも、常に少なくともいくつかのヘッダーを返します。それはずっとPythonでした...
残っている唯一の質問は、なぜpythonがこれを行っているのかということです。
python - スレッドごとに異なるプロキシを持つマルチスレッドクローラー、正しい方法?
約 1,000 万ページで実行する予定のマルチスレッド クローラーを作成します。高速化するには、約 10 ~ の異なるページを同時に取得する必要があります。
各クローラー スレッドは異なるプロキシを使用し、結果をキューにプッシュします。反対側には、キューから結果をフェッチし、解析して DB に挿入するワーカーがいくつかあります。
それは正しいアプローチですか?あまりにも多くの結果をキューに保存すると問題が発生しますか? ロックについて心配する必要がありますか?(キューモジュールを使用)。私のニーズに最適な HTTP ライブラリはどれですか? (httplib2/urllib2)。
各スレッドを作成するときに、リクエスト オブジェクトの新しいインスタンスを各スレッドに渡す必要がありますか?それとも、リクエスト オブジェクトを移動してスレッドでその "getPage" 関数を使用する必要がありますか?
ありがとう。
python - OAuth 認証 URL の取得中にエラーが発生しました
AppHarbor API を使用する前にユーザーを承認する Python デスクトップ アプリケーションに次のコードがあります。ナレッジ ベースに記載されている手順に従っており、次の認証コードを持っています。
ただし、リクエストを送信すると、応答が正しくありません。これはエラーです。
ここに欠けているものはありますか?
編集:以下はスローされるスタックトレースです:
呼び出しにデバッグすると、リクエストを発行した httplib2._request 関数に到達しました
これにより、エラー応答 = 302 (コンテンツ オブジェクトに表示) の次のページが表示されました。
次に、この関数はコンテンツから本文を削除して、本文が None に設定された別の要求を呼び出したため、スローされたエラーが発生しました。
python - Pythonリクエストを指定する方法httpputbody?
私はrequestsモジュールでいくつかの古いPythonコードを書き直そうとしています。目的は、添付ファイルをアップロードすることです。メールサーバーには次の仕様が必要です。
動作する古いコード:
リクエストでボディパーツの使い方が見つかりませんでした。
私はなんとか次のことをすることができました:
しかし、ファイルの内容で本文部分を指定する方法がわかりません。
ご協力いただきありがとうございます。オメル。
python - Python でプロキシ経由で XML データをサーバーに POST
次の形式のデータを含むリクエストを送信する必要があります。
通常、XML クエリが含まれます。送信したいサーバーがhttps://some/server
で、プロキシが であるとしproxy:port_number
ます。私は次の方法で使用しようとhttplib2
しSocksiPy
ました:
それは機能しますが、応答は望ましいものではありません。明らかに、HTTPS プロキシを使用する必要があるためです (これは同じです)。私は証明書情報を持っていません - 同様の動作する Perl スクリプトはそれを使用せず、プロキシを環境変数として定義します。と定数SocksiPy
がありますが、それらの使用方法がわかりません(証明書を定義しないと例外がスローされます)。これを行う方法を教えてください。PROXY_TYPE_SOCKS4
PROXY_TYPE_SOCKS5
httplib
で使用するのが適切xmlrpclib
でしょうか?それらを定義し、機能させるにはどうすればよいですか?
python - 認証済みリソースに対して Python httplib2 が機能しない
認証にレルム、ユーザー名、およびパスワードを必要とする認証済みのリソースがあります。Python の urllib2 にはレルムを提供する規定がありますが、httplib2 の規定は見つかりませんでした。urllib2 を使用したサンプル コードを次に示します。
ここで「Protected」は、認証に必要な領域です。
次に httplib2 を見てください:
httplib2 の場合、認証用のレルム文字列を提供するための規定が見つかりませんでした。
このレルム文字列を httplib2 に追加する方法はありますか??
oauth-2.0 - window7 64 への Httplib2 モジュールのインストール
Python では、easy_install を使用して oauth2 をインストールしようとしました。次に、httplib2が必要であることがわかりました。
使用: コマンド プロンプトでの easy_install httplib2。site-packages ディレクトリに httplib2 0.7.6 の卵が見つかりました。
しかし、httplib2をインポートすると、次のように返されました:ImportError:httplib2という名前のモジュールはありません
「httplib2 のインポート」を機能させる唯一の方法は、最初にシェルで httplib2 パッケージのセットアップ ファイルを実行し、次に「oauth2 のインポート」を実行することです。
Yelp API に接続するには oauth2 が必要なので、これをどうすればよいかわかりません。これで私を助けてください、本当にありがとうございます!!!
python - Httplib2sslエラー
今日、私は1つの興味深い問題に直面しました。
私はfoursquareが推奨するPythonライブラリhttplib2raiseを使用しています
oauthトークンをリクエストしようとしている間
の
なぜこれが起こるのか誰かが知っていますか?
java - Intermittent "sslv3 alert handshake failure" under Python
I have a REST API written in Java running under JBoss. Recently we updated our JVM from 1.6 to 1.7. This started to cause issues with only our Python clients which were connecting. Intermittently, Python clients are getting handshake failures. We wrote a very simple test which reproduces the problem:
Give the following output:
The 67th call failed on this run through, but it fails at different times each time the test is run.
Our other clients (Java, Groovy and Ruby) work without any problem.
If I switch the JVM back to 1.6 the failures stop.
I did an openssl check using:
and it returned this:
Which seems correct, but I'm not sure. If it failed on every call it would be one thing, but it's really odd to only be failing a random times. Anyone seen this?
python - pyinstallerコンパイル済みファイルにsslの問題があります、エラー:185090050
pythonideとcmdプロンプトでWindowsマシンで正常に実行されているPythonコードがいくつかあります。
pyinstallerで(1つのファイルに)コンパイルした後、次のエラーが発生します:
エラーの原因となっているコードのサブセットは次のとおりです。
単純なAPIリクエストである必要があります!私は全体を見渡して、コードの最初に次のものを使用しようとしました:
...それはうまくいきませんでした。
また、httplib2フォルダー内のcacerts.txtファイルを新しいcacert.pem(cacerts.txtに名前が変更されました)に置き換えました...しかし、それは機能しませんでした。
私はこれでSSLを無効にしようとしました:
...しかし、それはうまくいきませんでした。
混乱しない方法でpyinstallerを使用してPythonスクリプトをコンパイルするにはどうすればよいですか?