問題タブ [twisted.web]

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 に答える
2224 参照

python - ツイストを使用したPythonプロキシ

こんにちは!私はこのコードを持っています:

上記のコードを使用して、ブラウザとWebサイトの間のすべてを傍受します。上記を使用する場合、ブラウザの設定をIP:127.0.0.1およびポート:1337に構成します。このスクリプトをリモートサーバーに配置して、リモートサーバーをプロキシサーバーとして機能させます。しかし、ブラウザのプロキシIP設定をサーバーに変更すると、機能しません。私は何を間違えますか?他に何を設定する必要がありますか?

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

python - Deferred の未処理エラー

内部ねじれエラーのようです... 定期的に発生し、実際にはすべて正常に動作していますが、それは私のミスでしょうか? コードはかなり大きいので、そこに貼り付けました。エラー:

0 投票する
3 に答える
1211 参照

ssl - Twisted listenSSL 仮想ホスト

現在、非常に単純な TwistedNameVirtualHostをいくつかの JSON 構成ファイルと組み合わせて使用​​し、1 つのSiteオブジェクトで非常に基本的なコンテンツを提供しています。Twisted が提供するリソースはすべて、flask で構築された WSGI オブジェクトです。

これらのドメインへの接続SSLContextreactor.listenSSL. プロキシを必要としないドメインごとに ssl で名前付き仮想ホスティングを設定する方法はありますか? SSLを使用する Twisted の例が見つかりませんNameVirtualHost。1 つのドメインのコンテキストだけでポート 443 をリッスンしているリアクターにフックするだけで作業できますか?

誰かがこれを試みたかどうか疑問に思っていましたか?

SSL処理のない私の単純なサーバー:

https://github.com/DeaconDesperado/twsrv/blob/master/service.py

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

python - ツイストWebリソースでreactor.callInThreadをテストできません

着信要求を処理し、キューで処理されるセロリタスクを送信するツイストWebリソースがあります。このセロリ呼び出しは、reactor.callInThreadを使用して処理されます。

このコードをユニットテストしたいのですが、reactor.callInThreadのコードが実行されないため、次のような単純なTestCaseは失敗します。

記録のために、私はhttp://findingscience.com/python/twisted/2012/02/20/testing-twisted-web-resources.htmlで説明されているアプローチを使用してWebリソースをテストしています

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

python - HTTP POSTリクエストのデータ文字列が(おそらく)正しくエンコードされていないのはなぜですか?

私はtwisted.web.client.Agentに問題があります...

POSTリクエストの文字列データが正しくフォーマットされていないと思います。私はこの同期コードに類似した何かをしようとしています:

現在、エージェントリクエストを作成する方法は次のとおりです。

私が受け取っているHTTP応答(null JSON文字列)のために、IDがPOSTリクエストで適切にエンコードされていないのではないかと疑うようになりましたが、それに対して何ができるかわかりません。Agent.request呼び出しでurlencodeを使用することは有効ですか?これらのものをエンコードする別の方法はありますか?

編集:ある種のIRCの人たちは、データがURL文字列にエンコードされていることを示すヘッダー情報を送信しなかったという事実から問題が発生する可能性があると示唆しています。私はこの種のことについてほとんど知りません...誰かが私を正しい方向に向けることができますか?

0 投票する
2 に答える
986 参照

python - Python /twistedで「nonetype」not iterableエラーが発生しています

セルの内容を評価しようとすると、次のエラーが発生する理由を理解しようとしています。一部の関数が返されないか、このような仕組みがわかりません。

ここにコードの関連部分があります(私が思うに):これが私はデータを渡しますか?

確かに、これは自分の仕事によるものではありません。私はそれについてほとんど理解しておらず、かなり古くなっています。ここにコードの詳細があります: github python file

[編集] ここにもう少しあります: 初期化:

これがエンジン オブジェクトです。


[2回目の編集] Enginebusの定義は次のとおりです。

編集:最終的に解決しました:これが差分です:

ここにコンテキストがあります:backend/engine.pyのgithubのコミット差分

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

python - Twistedでリクエストが中止された後、リソースにレスポンスを送り返します

サーバーにファイルをアップロードしようとしています。ファイルをアップロードするときに、空きディスク容量が不足し、例外が発生してクライアントへの接続がシャットダウンされ、応答が返されなくなる場合があります。ステータスメッセージを含む文字列の結果に応答を送信しResourceてレンダリングする方法はありますか?json

0 投票する
2 に答える
692 参照

python - Django から Twisted サーバーを制御する

Django の管理インターフェースを介してTwisted サーバーによって管理されるさまざまなクライアント接続を制御できる Twisted/Django マッシュアップを構築しようとしています。つまり、Django の admin にログインして、現在使用されているプロトコル、各接続に固有の詳細を確認できるようにしたい (たとえば、サーバーが IRC 経由で freenode に接続されている場合、現在接続されているすべてのチャネルを一覧表示する必要があります)。データベース レコードを変更または作成して、新しいクライアントを切断または接続できるようにします。

これを行う最良の方法は何ですか?DjangoTwistedの組み合わせ に関する投稿はたくさんありますが、私が概説したことを実行するための先行技術は見つかりませんでした。私が見た Twisted の例はすべて、ハードコーディングされた接続パラメーターを使用しているため、データベース内のレコードによって通知されたときに、reactor.connectTCP(...) または loseConnection(...) を動的に実行する方法を想像するのが難しくなっています。

私の戦略は、すべてのコマンドについて N 秒ごとに Django/マネージド データベースのみをポーリングするカスタム ClientFactory を作成し、必要に応じて接続を変更/作成/削除し、完了時にデータベースの新しいステータスを反映することです。

これは実現可能だと思いますか?より良いアプローチはありますか?同様の機能を実装する既存のプロジェクトを知っている人はいますか?

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

python - Python の Twisted.web でライブにトランスコードされているビデオ ファイルを送信するにはどうすればよいですか?

Python の Twisted.web と ffmpeg へのコールバックを使用して、ビデオ ストリーマーを構築しています。

「return file.read()」を使用してファイルを送信しているため、トランスコードされた出力を完全に読み取ることができないため、送信に問題が発生するのではないかと思っています。これは考えすぎで、Twisted.web の低レベルの管理コードによってすべて管理されているのでしょうか、それとも方法を再考する必要がありますか?

さらに、バッファリングされていないビデオの部分にスキップするユーザーをサポートするにはどうすればよいですか? 本当に複雑になると思いますが、そうでない場合に備えて。

ありがとう

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

python - twind.webのstatic.Fileクラスを拡張する際の問題

作成しているサーバーにトランスコーディングサポートを追加しようとしています。リクエストを受信して​​から実行するまでの間に入る必要があります。

現在私は持っています:

しかし、ファイルをリクエストしようとすると、次のようになります。

「失敗:exceptions.RuntimeError:プロデューサーはxxx.mp4の登録を解除されませんでした」エラー

render()メソッドを削除すると、新しいクラスはstatic.Fileとして機能します。

私は何が間違っているのですか?