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

HttpURLConnectionインスタンスは単一のリクエストを行うために使用されますが、HTTPサーバーへの基盤となるネットワーク接続は他のインスタンスによって透過的に共有される場合があります。

11
java.net.URLConnectionを使用してHTTPリクエストを起動および処理する方法
java.net.URLConnectionここではかなり頻繁にの使用について尋ねられますが、Oracleチュートリアルでは簡潔すぎます。 このチュートリアルでは、基本的にはGETリクエストを発行してレスポンスを読み取る方法のみを示しています。特に、POSTリクエストの実行、リクエストヘッダーの設定、レスポンスヘッダーの読み取り、Cookieの処理、HTMLフォームの送信、ファイルのアップロードなどに使用する方法については説明していません。 では、java.net.URLConnection「高度な」HTTPリクエストを起動して処理するにはどうすればよいですか?

17
Java-POSTメソッドを介してHTTPパラメータを簡単に送信する
このコードを使用してHTTP、いくつかのパラメータを含むリクエストをGETメソッド経由で正常に送信 しています void sendRequest(String request) { // i.e.: request = "http://example.com/index.php?param1=a&param2=b&param3=c"; URL url = new URL(request); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setInstanceFollowRedirects(false); connection.setRequestMethod("GET"); connection.setRequestProperty("Content-Type", "text/plain"); connection.setRequestProperty("charset", "utf-8"); connection.connect(); } パラメータPOSTが非常に長いため、メソッドを介してパラメータ(つまり、param1、param2、param3)を送信する必要があるかもしれません。そのメソッドに追加のパラメーター(つまり、String httpMethod)を追加することを考えていました。 上記のコードを最小限に変更して、GETまたはを介してパラメータを送信できるようにするにはどうすればよいPOSTですか? その変化を望んでいた connection.setRequestMethod("GET"); に connection.setRequestMethod("POST"); トリックを行ったでしょうが、パラメーターはまだGETメソッドを介して送信されます。 たHttpURLConnection役立つだろういずれかの方法を得ましたか。役立つJavaコンストラクトはありますか? どんな助けでも大歓迎です。

15
NameValuePairを使用してPOSTを使用し、HttpURLConnectionにパラメーターを追加する方法
私がやろうとしていますPOSTをしてHttpURLConnection(私はこのようにそれを使用する必要が、使用することはできませんHttpPost)、私はこのようなその接続にパラメータを追加したいのですが post.setEntity(new UrlEncodedFormEntity(nvp)); どこ nvp = new ArrayList<NameValuePair>(); 保存されているいくつかのデータを持つ私はこれを追加する方法の方法を見つけることができません。ArrayList私にはHttpURLConnectionここにあります: HttpsURLConnection https = (HttpsURLConnection) url.openConnection(); https.setHostnameVerifier(DO_NOT_VERIFY); http = https; http.setRequestMethod("POST"); http.setDoInput(true); http.setDoOutput(true); この厄介なhttpsとhttpの組み合わせの理由は、証明書を検証しない必要があるためです。それは問題ではありませんが、サーバーに適切にポストします。しかし、私はそれを引数付きで投稿する必要があります。 何か案は? 重複する免責事項: 2012年には、HTTP POSTリクエストにパラメーターがどのように挿入されるのかまったくわかりませんでした。NameValuePairそれがチュートリアルだったので、私はつかまっていました。この質問は重複しているように見えるかもしれませんが、私の2012年の自己は他の質問を読み、それを使用していませんNameValuePairでした。実際、それは私の問題を解決しませんでした。

5
HttpURLConnection接続プロセスを説明できますか?
私が使っているHTTPURLConnectionWebサービスに接続します。使い方は知っていますHTTPURLConnectionが、仕組みを知りたいです。基本的に、次のことを知りたいです。 HTTPURLConnection指定されたURLへの接続を確立しようとするのはどの時点ですか? 接続を正常に確立できたことをどの時点で知ることができますか? 接続の確立と実際のリクエストの送信は、1つのステップ/メソッド呼び出しで行われていますか?どのような方法ですか? あなたはの機能を説明することができますgetOutputStreamし、getInputStream素人の用語では?接続しようとしているサーバーがダウンしていると、Exceptionatが表示されgetOutputStreamます。それはHTTPURLConnection私が呼び出すときだけ接続を確立し始めることを意味しgetOutputStreamますか?どうgetInputStreamですか?私はでしか応答を取得できgetInputStreamないので、getOutputStreamまだ要求を送信しておらず、単に接続を確立しているだけですか?やるHttpURLConnection私は起動時に応答の要求にサーバーに戻るをgetInputStream? openConnection新しい接続オブジェクトを作成するだけで、まだ接続を確立していないと言って間違いありませんか? 読み取りオーバーヘッドと接続オーバーヘッドを測定するにはどうすればよいですか?

9
HttpURLConnectionでPUT、DELETE HTTPリクエストを送信する方法
PUT、DELETEリクエストを(実際に)java.net.HttpURLConnectionHTTPベースのURL に送信できるかどうかを知りたいです。 GET、POST、TRACE、OPTIONSリクエストを送信する方法を説明した記事をたくさん読みましたが、PUTおよびDELETEリクエストを正常に実行するサンプルコードはまだ見つかりません。

12
Javaを使用した認証を必要とするリモートURLへの接続
認証を必要とするJavaのリモートURLに接続するには 次のコードを変更して、プログラムでユーザー名/パスワードを提供できるようにして、401をスローしないようにする方法を見つけようとしています。 URL url = new URL(String.format("http://%s/manager/list", _host + ":8080")); HttpURLConnection connection = (HttpURLConnection)url.openConnection();

10
HttpURLConnectionでPOSTを使用してファイルを送信する
Android開発者がクラスの使用を推奨しているので、HttpURLConnectionビットマップ「ファイル」(実際にはメモリ内ストリーム)をPOST経由でApache HTTPサーバーに送信する方法の良い例を誰かが私に提供できるかどうか疑問に思っていました。私はCookieや認証などの複雑なものには興味がありませんが、信頼性の高いロジック実装を望んでいます。私がここで見た例はすべて、「これを試してみて、おそらくうまくいく」ように見えます。 現在、私はこのコードを持っています: URL url; HttpURLConnection urlConnection = null; try { url = new URL("http://example.com/server.cgi"); urlConnection = (HttpURLConnection) url.openConnection(); } catch (Exception e) { this.showDialog(getApplicationContext(), e.getMessage()); } finally { if (urlConnection != null) { urlConnection.disconnect(); } } ここで、showDialogはAlertDialog(無効なURLの場合は)を表示するだけです。 ここで、次のようにビットマップを生成するとします。Bitmap image = this.getBitmap()派生したコントロール内で、ViewPOSTを介して送信したいとします。そのようなことを達成するための適切な手順は何でしょうか?どのクラスを使用する必要がありますか?この例のHttpPostように使用できますか?もしそうなら、私は自分のビットマップのをどのように構築しますか?最初にビットマップをデバイスのファイルに保存する必要があるのは嫌です。InputStreamEntity また、元のビットマップのすべての変更されていないピクセルをサーバーに送信する必要があるため、JPEGに変換できないことにも言及する必要があります。

7
HttpURLConnectionからInputStreamオブジェクトを取得中にFileNotFoundException
(JavaでcUrlを使用するために)HttpURLConnectionを使用してURLに投稿リクエストを送信しようとしています。リクエストのコンテンツはxmlであり、エンドポイントで、アプリケーションはxmlを処理し、データベースにレコードを保存してから、xml文字列の形式で応答を返します。アプリはローカルのapache-tomcatでホストされています。 端末からこのコードを実行すると、期待どおりに行がデータベースに追加されます。しかし、接続からInputStreamを取得しているときに、次のように例外がスローされます java.io.FileNotFoundException: http://localhost:8080/myapp/service/generate at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1401) at org.kodeplay.helloworld.HttpCurl.main(HttpCurl.java:30) これがコードです public class HttpCurl { public static void main(String [] args) { HttpURLConnection con; try { con = (HttpURLConnection) new URL("http://localhost:8080/myapp/service/generate").openConnection(); con.setRequestMethod("POST"); con.setDoOutput(true); con.setDoInput(true); File xmlFile = new File("test.xml"); String xml = ReadWriteTextFile.getContents(xmlFile); con.getOutputStream().write(xml.getBytes("UTF-8")); InputStream response = con.getInputStream(); BufferedReader reader = new …

5
POSTリクエストがjsonデータを送信するjava HttpUrlConnection
次のcURLをURLおよびHttpUrlConnectionを使用してJavaコードに変換するJavaコードを開発しました。カールは: curl -i 'http://url.com' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth": { "passwordCredentials": {"username": "adm", "password": "pwd"},"tenantName":"adm"}}' 私はこのコードを記述しましたが、常にHTTPコード400の不正なリクエストを出します。不足しているものを見つけることができませんでした。 String url="http://url.com"; URL object=new URL(url); HttpURLConnection con = (HttpURLConnection) object.openConnection(); con.setDoOutput(true); con.setDoInput(true); con.setRequestProperty("Content-Type", "application/json"); con.setRequestProperty("Accept", "application/json"); con.setRequestMethod("POST"); JSONObject cred = new JSONObject(); JSONObject auth = new JSONObject(); JSONObject parent …

6
HTTPURLConnectionがHTTPからHTTPSへのリダイレクトに従いません
Java HttpURLConnectionがHTTPからHTTPS URLへのHTTPリダイレクトに従わない理由を理解できません。次のコードを使用して、https://httpstat.us/のページを取得します。 import java.net.URL; import java.net.HttpURLConnection; import java.io.InputStream; public class Tester { public static void main(String argv[]) throws Exception{ InputStream is = null; try { String httpUrl = "http://httpstat.us/301"; URL resourceUrl = new URL(httpUrl); HttpURLConnection conn = (HttpURLConnection)resourceUrl.openConnection(); conn.setConnectTimeout(15000); conn.setReadTimeout(15000); conn.connect(); is = conn.getInputStream(); System.out.println("Original URL: "+httpUrl); System.out.println("Connected to: …

3
2xx以外のコードが返されたときに、HttpURLConnectionを使用して応答本文を取得する方法
サーバーがエラーを返す場合に備えて、Jsonレスポンスの取得に問題があります。詳細は以下をご覧ください。 リクエストを実行する方法 使用しますjava.net.HttpURLConnection。リクエストのプロパティを設定してから、次のようにします。 conn = (HttpURLConnection) url.openConnection(); その後、リクエストが成功すると、応答Jsonが返されます。 br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); sb = new StringBuilder(); String output; while ((output = br.readLine()) != null) { sb.append(output); } return sb.toString(); ...そして問題は: サーバーが50xや40xなどのエラーを返したときに受信したJsonを取得できません。次の行はIOExceptionをスローします。 br = new BufferedReader(new InputStreamReader((conn.getInputStream()))); // throws java.io.IOException: Server returned HTTP response code: 401 for URL: www.example.com サーバーは確実に本文を送信します。外部ツールBurp …

8
Javaでエラーレスポンスの本文を読み取る
Javaでは、このコードは、HTTPの結果が404の範囲である場合に例外をスローします。 URL url = new URL("http://stackoverflow.com/asdf404notfound"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.getInputStream(); // throws! 私の場合、たまたまコンテンツが404であることは知っていますが、とにかく応答の本文を読みたいと思います。 (私の実際の場合、応答コードは403ですが、応答の本文には拒否の理由が説明されているので、それをユーザーに表示します。) 応答本文にアクセスするにはどうすればよいですか?

16
HttpURLConnection無効なHTTPメソッド:PATCH
URLConnectionでPATCHのような非標準のHTTPメソッドを使用しようとすると: HttpURLConnection conn = (HttpURLConnection) new URL("http://example.com").openConnection(); conn.setRequestMethod("PATCH"); 例外が発生します: java.net.ProtocolException: Invalid HTTP method: PATCH at java.net.HttpURLConnection.setRequestMethod(HttpURLConnection.java:440) Jerseyのような高レベルのAPIを使用すると、同じエラーが発生します。PATCH HTTPリクエストを発行するための回避策はありますか?

3
httpurlconnection multipart / form-dataを使用してarraylistをアップロードします
Arraylistライブラリを使用せずに画像をサーバーにアップロードする必要があります。私はAsynctask単一の画像のアップロードに使用しており、httpurlconnection multipart / form-dataの助けを借りて完全に機能しています。今、私は使用してコードを変更して任意のタイプの複数のファイルをアップロードする必要がありますArraylist<String>が、私の問題は、既存のコードがFileinputStreamarraylistをサポートしておらず、Fileinputstreamarraylistをサーバーにアップロードする代わりに何を使用するべきかわからないためですこのために任意のライブラリを使用したい。 public class multipart_test extends AsyncTask<Void,Void,String> { Context context; String Images; public static final String TAG = "###Image Uploading###"; public multipart_test(Context context,String Upload_Images) { this.context = context; this.Images = Upload_Images; } @Override protected String doInBackground(Void... params) { BufferedReader reader; String WebPath = null; try { String lineEnd …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.