問題タブ [flurl]

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

c# - Flurl で `multipart/form-data` を投稿する

次のリクエストを投稿する必要があります。

requests次のようにPythonライブラリを使用すると、これを非常に簡単に実行できます。

Flurl.Httpライブラリで同じことを行う方法はありますか?

文書化された方法に関する私の問題は、Content-Typeキーと値のペアごとにヘッダーが挿入さfilename*=utf-8''れ、ファイルデータのヘッダーが挿入されることです。ただし、リクエストを送信しようとしているサーバーはこれをサポートしていません。また、ヘッダーの値nameと値を二重引用符で囲んでいることに注意してください。filename

編集:以下は、投稿リクエストを行うために使用したコードですFlurl.Http:

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

c# - Flurl GetResponseJson を使用したユニット テスト コード()

をキャッチし、catch ブロックでエラー メッセージを取得するためにFlurlHttpException呼び出しているコントローラーを単体テストしようとしています。GetResponseJson<TError>()例外をモックしようとしましたが、CallプロパティでSettings. 単体テストを実行すると、設定に JsonSerializer がないため失敗します。このテストをセットアップするにはどうすればよいですか?

動作しない私の現在の試みは次のとおりです。

コントローラ

単体テスト

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

c# - Flurl 例外がキャッチされない

理由はわかりませんが、Flurl Exceptions を受け取っていますが、それらは try/catch ブロックによってキャッチされていません。なぜそれが起こっているのかについてのアイデアはありますか?

コードは次のとおりです。

出力は次のとおりです(例外がスローされていることがわかっている唯一の理由です):

ここに画像の説明を入力

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

android - flurl に ModernHttpClient を実装する

Xamarin.Android アプリを介して REST サービスを呼び出そうとすると、このエラーが発生します。SecureChannelFailure (認証または復号化に失敗しました。)単純な HttpClient を使用していた場合、これは単に ModernHttpClients MessageHandler を注入することで修正されます。

これはテスト済みで動作します。ただし、私は flurl を使用しているため、このスレッドに従って DefaultHttpClientFactory クラスの CreateMessageHandler メソッドをオーバーライドして、HttpClientFactory のカスタマイズを試みました。

ここに要点があります

そして、ModernHttpClients ハンドラーを単純に使用するカスタム ファクトリ。

残念ながら、以前と同じエラーが発生しているため、これは機能していないようです。これを適切に flurl に入れる方法についてのアイデアはありますか?

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

c# - Flurl.Http で Polly を使用するには?

現在、私はこの要求を持っています:

Polly ( https://github.com/App-vNext/Polly ) の使用を開始して、再試行を処理し、より優れたユーザー エクスペリエンスを提供したいと考えています。たとえば、ネットワーク接続が悪いために最初の試行でユーザーに「電話を切る」ことはありません。これは私が使用しようとしていた例です:

HttpResponseただし、戻り型である必要があります。私の Flurl の例からわかるように、 .Tであるにもかかわらず を返していHttpResponseます。はT、 を逆シリアル化するために使用される型StringContentです。

この最初の例は、PCL 内で使用していて、そこへの参照を取得できないため、まったく機能しませんSystem.Web。だから私はこれを試しました:

HttpStatusCodeただし、Polly は戻り値の型を想定しているため、これも機能しません。だから私の質問は次のとおりです: polly にこれらHttpStatusCodeの s を処理し、 type の戻りを許可するように指示するにはどうすればよいTですか?

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

c# - C# Flurl - WebRequestHandler を FlurlClient に追加する

私はFlurlと協力して、証明書ベースの認証を必要とする API にアクセスしています。この SO 投稿から、 に証明書を追加し、にこのハンドラーを使用するWebRequestHandlerように指示するのは簡単であることがわかりました。HttpClient

しかし、Flurl を使用していることはあまり明確ではありません。以下の3つのことを試しました。

DefaultHttpFactory の拡張

私は最初にX509HttpFactory : DefaultHttpFactory、ハンドラーを作成して に割り当てる独自のものを作成する必要があると考えましたHttpClient。ただし、ソースを表示すると、コンストラクターがCreateClient既にハンドラーを想定していることに気付きました。このハンドラーはどこから来たのですか?

DefaultHttpFactory を使用してクライアントを作成する

HttpClientキャストできないため、これはコンパイルされませんFlurlClient

ConfigureHttpClient を使用する

これは最も実行可能なオプションのように思えますが、デリゲートはAction戻り値のない型であるため、確信が持てません。

質問

Flurlを使用してクライアント側の証明書認証をサポートするための最良/正しい方法は何ですか?

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

c# - winform アプリから Flurl を呼び出しても結果が返されない

素早い背景。構築したクラス ライブラリ内で Flurl を使用して、クラウド ストレージ API と通信するためのコードを簡素化しました。すべてのメソッドをテストするために使用されるコンソール アプリからライブラリを呼び出すと、美しく機能します。単純な winform でまったく同じクラス ライブラリを使用しようとすると、コンソール アプリを使用して非常に迅速に返される同じメソッドが結果を返さないようになりました。デバッグ時に、以下のコードは「.GetAsync()」行に到達した後、結果を返さず、デバッグ セッションの続行も妨げます。エラー メッセージはスローされません。

Flurl サイトで、誰かが同じ問題を抱えているように見えるというコメントを見つけましたが、推奨されたようにここに質問を投稿したようには見えません。私を正しい方向に向けることができるものは何でも大歓迎です。

非同期メソッドでラップされた Flurl コード

完全に機能するコンソールアプリ呼び出しコード

戻らない Winform 呼び出しコード