問題タブ [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 - Haskell は POST REQUEST からのデータを使用します
POSTリクエスト(テキストボックスのIP)でgeocodeip.comの本文を取得したい。
ここに私のコード:
これまでのところ、彼の機能を「終了」すれば機能してL.putStr $ responseBody res
います...しかし、どうすればこれから抜け出すことができtags
ますか?
コンパイル エラー:
この型エラーを解決するにはどうすればよいですか?
haskell - Haskell コンジットを介して HTTP ストリームをパイプする
コンジット ソースを介して HTTP からデータをストリーミングするコンジットを作成しようとしています。これが私がこれまでに持っているものです:
しかし、私は得ています
MonadReader
なぜ期待されるのですか?私には意味がありません。
haskell - Haskell で Web ページのステータス コードを取得する
Haskell に Web ページが存在するかどうかを確認する方法を見つけようとしています。サーバーは HTTP2/HTTPS のみで、ページがサーバント アプリケーションに存在するかどうかを確認しようとしています。
ステータス コードが 200 か 404 かを確認するだけの適切なドキュメントを含む Haskell パッケージはありますか? 強力な HTTPS および HTTP2 サーバーを使用していますか?
ここで私は現在httpコンジットで持っていますが、奇妙な例外を受け取っています (TlsExceptionHostPort (HandshakeFailed (Error_Protocol ("expecting server hello, got alert : [(AlertLevel_Fatal,HandshakeFailure)]",True,HandshakeFailure))) "thibaud.dauce .fr" 443 および StatusCodeException)。
haskell - http-conduit に自己署名証明書を受け入れるようにするにはどうすればよいですか?
http-conduit を使用してプログラムを作成しましたが、有効な TLS 証明書を持たないサーバーと通信する必要があります。この場合、これは自己署名証明書です。
https-test.hs :
期待される出力
実際の出力:
haskell - ストリームに間違った長さを送信すると、HTTP マネージャーが状態の破損を共有しました
共有 HTTP マネージャーを指定すると、requestBody
がタイプrequestBodySource
であり、要求本文に間違った長さが指定されている場合、後続の要求は同じ HTTP マネージャーで約 20 秒間失敗するようです。共有状態の相互作用について何かがあるようで、GivesPopper
おそらくそれがこの問題を引き起こしています。これを再現するサンプル コードを次に示します。requestb.in を使用して間違った長さのアップロードを送信し、requestb.in で別の有効な URL を読み取ろうとします。
出力 - 最初の不正なアップロードは として通過しHTTP 200
、後続のGET
リクエストはすぐにHTTP 400
エラーを引き起こします:
GET
リクエストの代わりに別の http マネージャを使用すると、が返されHTTP 200
ます。したがって、ここでは http マネージャーでの共有状態が問題のようです。
他の誰かがそれを観察しましたか?githubの問題を調べましたHTTP Manager
が、これが報告されたことはありません。ストリーミングの長さが間違っていても、ここで発生しているように HTTP マネージャーが破損することはありません。
長さが正しい requestBodySource のソース ファイルもシミュレートしましたが、ソースはシミュレートされた障害のために途中で中止されます (ネットワークの問題をシミュレートするため)。その場合、エラーはありません。したがって、失敗せずに間違った長さを送信すると、ここである種の共有状態が破損し、25 秒以内に解放されるというケースが 1 つだけあるようです。
ここで何が起こっているのかについて誰かが洞察を持っているなら、それは非常に役に立ちます。適切なストリーミングの長さを強制する回避策があります。ただし、本番環境でこのような状況に陥らないように、何が起こっているのかを理解したいと思います。
haskell - haskell のエラーを理解する
私 (Haskell の初心者) は、Web ページから受け取った ByteString に対してアンパック操作を実行しようとしています。基本的に、Webページからいくつかの単語を検索したいので、ストリームをトークン化し、単語から単語を検索しようとしています。
しかし、私はエラーを下回っています
ハックから、その署名が
string - Haskell:「%0D」を追加する単純なhttp?
simplehttp を使用して Web ページを照会しています。例: webLink = "www.example.com/" および number= 257 とします (番号はファイルから読み取られます)。
Windowsでは正常に動作していますが、Macでは「www.example.com/257%0D」として表示されるパスとしてエラー404がスローされます257 . 以下のように「%0D」をフィルタリングしてみましたが、パスの %0D が原因で mac にエラー 404 が表示されます...提案してください。