タグ付けされた質問 「httpclient」

13
自己署名証明書によるHTTPS接続の受け入れ
HttpClientlib を使用してHTTPS接続を確立しようとしていますが、問題は、証明書がAndroidの信頼できる証明書のセットにリストされているVerisignやGlobalSIgnなどの承認された認証局(CA)によって署名されていないためです。私は得続けjavax.net.ssl.SSLException: Not trusted server certificateます。 すべての証明書を受け入れるだけのソリューションを見てきましたが、ユーザーに質問したい場合はどうすればよいですか? ブラウザーと同様のダイアログを表示して、ユーザーに続行するかどうかを決定させたい。ブラウザと同じ証明書ストアを使用したいのですが。何か案は?
153 android  ssl  https  httpclient  ca 

5
空のボディをHttpClient経由でREST APIに投稿する
私が呼び出そうとしているAPIでは、POSTを実行する必要がありますが、本文は空です。私はWCF Web API HttpClientを使用するのが初めてで、本文が空の投稿を作成するコードを見つけられないようです。いくつかのHttpContent.CreateEmpty()メソッドへの参照を見つけましたが、そのメソッドが見つからないようなので、それはWeb API HttpClientコード用ではないと思います。


4
PHP GuzzleHttp。パラメータを使用して投稿リクエストを行う方法は?
GuzzleHttp(バージョン5.0)で投稿リクエストを行う方法。 私は次のことをしようとしています: $client = new \GuzzleHttp\Client(); $client->post( 'http://www.example.com/user/create', array( 'email' => 'test@gmail.com', 'name' => 'Test user', 'password' => 'testpassword' ) ); しかし、私はエラーを得ています: PHPの致命的なエラー:キャッチされていない例外 'InvalidArgumentException'とメッセージ 'No method can handle handle the email config key'が表示される

10
Android Mのbuild.gradeにコンパイル時の依存関係としてApache HTTP API(レガシー)を追加する方法
ここで説明したように、Android MはApache HTTP APIをサポートしません。ドキュメントは次のように述べています: 代わりにHttpURLConnectionクラスを使用してください。 または Apache HTTP APIを引き続き使用するには、まずbuild.gradleファイルで次のコンパイル時の依存関係を宣言する必要があります。 android {useLibrary 'org.apache.http.legacy'} プロジェクトでのHttpClientの使用方法の多くをHttpURLConnectionに変換しましたが、まだいくつかの領域でHttpClientを使用する必要があります。したがって、「org.apache.http.legacy」をコンパイル時の依存関係として宣言しようとしていますが、build.gradleでエラーが発生しています。 Gradle DSLメソッドが見つかりません: 'useLibrary()' 私の質問は、「org.apache.http.legacy」をプロジェクトのコンパイル時の依存関係としてどのように宣言するのですか? どんな助けでも大歓迎です。ありがとう

2
Android:HttpClientリクエストのステータスコードを取得する方法
ファイルをダウンロードしたいのですが、応答ステータスコード(HTTP /1.1 200 OK)を確認する必要があります。これは私のコードの一部です: HttpGet httpRequest = new HttpGet(myUri); HttpEntity httpEntity = null; HttpClient httpclient = new DefaultHttpClient(); HttpResponse response = httpclient.execute(httpRequest); ... 応答のステータスコードを取得するにはどうすればよいですか?

7
PythonでWebサイトにログインするにはどうすればよいですか?
どうすればいいですか?指定されたリンク(urllibを使用)を入力しようとしましたが、そのためにはログインする必要があります。 私はサイトからこのソースを持っています: <form id="login-form" action="auth/login" method="post"> <div> <!--label for="rememberme">Remember me</label><input type="checkbox" class="remember" checked="checked" name="remember me" /--> <label for="email" id="email-label" class="no-js">Email</label> <input id="email-email" type="text" name="handle" value="" autocomplete="off" /> <label for="combination" id="combo-label" class="no-js">Combination</label> <input id="password-clear" type="text" value="Combination" autocomplete="off" /> <input id="password-password" type="password" name="password" value="" autocomplete="off" /> <input id="sumbitLogin" class="signin" type="submit" value="Sign In" …


9
HttpRequest.execute()を使用した例外:SingleClientConnManagerの無効な使用:接続はまだ割り当てられています
google-api-client-java 1.2.1-alphaを使用してPOSTリクエストを実行していますが、HttpRequestをexecute()すると、次のスタックトレースが取得されます。 これは、前のPOSTから同じURLへの403エラーをキャッチして無視し、後続のリクエストでトランスポートを再利用した直後に発生します。(同じATOMフィードに複数のエントリを挿入するループになっています)。 403の後に「クリーンアップ」するためにすべきことはありますか? Exception in thread "main" java.lang.IllegalStateException: Invalid use of SingleClientConnManager: connection still allocated. Make sure to release the connection before allocating another one. at org.apache.http.impl.conn.SingleClientConnManager.getConnection(SingleClientConnManager.java:199) at org.apache.http.impl.conn.SingleClientConnManager$1.getConnection(SingleClientConnManager.java:173) at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:390) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576) at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:554) at com.google.api.client.apache.ApacheHttpRequest.execute(ApacheHttpRequest.java:47) at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:207) at au.com.machaira.pss.gape.RedirectHandler.execute(RedirectHandler.java:38) at au.com.machaira.pss.gape.ss.model.records.TableEntry.executeModification(TableEntry.java:81) 私の下のコードが新しい接続を取得しようとしているのはなぜですか?

1
Powershellで実行しているときとVisual Studioで実行しているときのHttpClient同時動作が異なる
B2Cでユーザーを作成するためにMS Graph APIを使用して、数百万のユーザーをオンプレミスADからAzure AD B2Cに移行しています。この移行を実行するための.Net Core 3.1コンソールアプリケーションを作成しました。速度を上げるために、Graph APIを同時に呼び出しています。これはうまく機能しています。 開発中にVisual Studio 2019から実行しているときに許容できるパフォーマンスを体験しましたが、テストのためにPowershell 7のコマンドラインから実行しています。Powershellから、HttpClientへの同時呼び出しのパフォーマンスは非常に悪いです。Powershellからの実行時にHttpClientが許可する同時呼び出しの数には制限があるため、40から50を超える同時バッチでの要求がスタックし始めます。残りをブロックしている間、40から50の同時リクエストを実行しているようです。 私は非同期プログラミングの支援を探していません。Visual Studioの実行時の動作とPowershellコマンドラインの実行時の動作の違いをトラブルシューティングする方法を探しています。Visual Studioの緑の矢印ボタンからリリースモードで実行すると、期待どおりに動作します。コマンドラインからの実行ではできません。 タスクリストに非同期呼び出しを入力し、Task.WhenAll(tasks)を待ちます。各呼び出しには300〜400ミリ秒かかります。Visual Studioから実行すると、期待どおりに動作します。私は1000の呼び出しの同時バッチを作成し、それぞれが予想時間内に個別に完了します。タスクブロック全体は、最長の個々の呼び出しよりも数ミリ秒長くかかります。 Powershellコマンドラインから同じビルドを実行すると、動作が変わります。最初の40から50の呼び出しは、予想される300から400ミリ秒かかりますが、その後、個々の呼び出し時間はそれぞれ最大20秒になります。呼び出しはシリアル化されていると思うので、他の呼び出しが待機している間、一度に実行されるのは40〜50だけです。 何時間もの試行錯誤の末、HttpClientに絞り込むことができました。問題を特定するために、Task.Delay(300)を実行してモック結果を返すメソッドを使用して、HttpClient.SendAsyncの呼び出しをモック化しました。この場合、コンソールからの実行は、Visual Studioからの実行と同じように動作します。 私はIHttpClientFactoryを使用していますが、ServicePointManagerの接続制限を調整しようとしました。 これが私の登録コードです。 public static IServiceCollection RegisterHttpClient(this IServiceCollection services, int batchSize) { ServicePointManager.DefaultConnectionLimit = batchSize; ServicePointManager.MaxServicePoints = batchSize; ServicePointManager.SetTcpKeepAlive(true, 1000, 5000); services.AddHttpClient(MSGraphRequestManager.HttpClientName, c => { c.Timeout = TimeSpan.FromSeconds(360); c.DefaultRequestHeaders.Add("User-Agent", "xxxxxxxxxxxx"); }) …

2
java.net.SocketException:Spring Restテンプレートで接続がリセットされる
ここで奇妙な問題があります。 以下のコードは、クライアント側でtomcatサーバーを再起動するまで正常に機能しています。同じコードの最新のwarファイルでTomcatサーバー(クライアントプログラムがwarファイルにある)を再起動すると、以下のエラーがスローされます。JDK 8を使用しています。 以下はサンプルコードです。ブラウザから、以下のプログラムで使用しているURLから応答を得ることができます。しかし、JavaプログラムまたはPostmanを使用してもデータを取得できません。 package com.example.demo; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; @Component public class TestService implements CommandLineRunner{ @Override public void run(String... args) throws Exception { download(); } private void download() { System.out.println("Started download"); try{ RestTemplate restTemplate = new RestTemplate(); String url = "https://www.nseindia.com/live_market/dynaContent/live_watch/stock_watch/niftyStockWatch.json"; byte[] forObject = restTemplate.getForObject(url, byte [].class); …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.