問題タブ [http-conduit]
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.
http - Network.HTTP.Conduit の Haskell simpleHTTP が get リクエストで遅い
私のhaskellコードでは、次のようにインポートNetwork.HTTP.Conduit
しました
私のメイン関数では、次をGET
使用して簡単なリクエストを行いますsimpleHTTP
100 件の API リクエストを完了するのに 6 分 42 秒かかりました
一方、ruby
別の方法では、100 回の API 呼び出しに 153 秒しかかかりません。Net::HTTP.get(URI.parse("https://github.com/trending?l=ruby"))
Haskell コードで何か間違ったことをしていますか? の高性能で効率的な代替手段はsimpleHTTP
何ですか?
haskell - http コンジットの ResumableSource で「無限型を構築できません」というエラーが発生する
ResourceT モナドに正しく存在しながら、URL に接続するためのいくつかのパラメーターを指定して Source を作成する関数を作成しようとしています。私は次のことを試みています:
機能しません。コンパイラから「無限型を構築できません」というエラーが表示されます。私はreturn (httpsource,finalizer)
(またはresponseBody全体だけ)後でそれを使用できますが、奇妙に思えます。このコードを記述する適切な方法と、無限型エラーが発生する理由を教えてください。
型シグネチャがないと、次のエラーが発生します。
署名を追加すると、(そうあるべきだと思います):
エラーが発生します:
できないことをしているのかもしれませんが、どこに問題があるのか よくわかりません。
haskell - Scotty を使用したネットワーク I/O のスループットが予想外に低い
Scotty のベンチマークを実行して、ネットワーク I/O の効率と全体的なスループットをテストしようとしました。
このために、Haskell で記述された 2 つのローカル サーバーをセットアップしました。何もせず、単に API として機能するもの。
同じコードは
このサーバーを呼び出して応答を返す別のサーバーを作成しました。
これらの両方のサーバーを実行して、wrkベンチマークを実行したところ、非常に高いスループットが得られました。
これは、Phoenix などの他の Web サーバーよりも大幅に高かったのですが、応答の大部分がファイル記述子の枯渇により発生した 500 エラーであったため、これは何の意味もないことに気付きました。
かなり低い制限を確認します。
これらの制限を
もう一度 wrk を実行したところ、明らかに十分なスループットが大幅に低下していました。
500 エラーの量は減少しましたが、完全にはなくなりませんでした。Ginと Phoenix のベンチマークScotty
を行ったところ、500 の応答がない場合よりもはるかに優れていました。
欠けているパズルのピースは何ですか? デバッグに失敗している問題があると思われます。
http-conduitはこれらのエラーと多くの関係があり、http-client
ライブラリはフードの下でそれを使用しており、これは とは何の関係もないことを理解していScotty
ます。
haskell - Haskell Network.HTTP.Conduit 例外: InvalidProxyEnvironmentVariable "http_proxy"
ここにある HTTP.Conduit のドキュメントの簡単な例を使用しています。
私のシステムには、環境変数で設定されhttp_proxy
、フォームを持つプロキシが必要http://user:pass@proxy:port/
です。
Http.Conduit により、次のエラーで例外が発生します。
(プロキシの詳細を変更しました..)
どうした?Http.Conduit は認証をサポートしていませんか?