1. ホーム
  2. java

[解決済み] setRequestProperty in java

2022-02-17 18:57:56

質問事項

ドキュメント こちら には、次のように書かれています。 setRequestProperty は一般的な要求プロパティを設定します。

そこで、次のようなコード・スニペットがあるとします。 setRequestProperty を次のようにします。

        URL url = new URL(requestUrl);
        URLConnection urlConn = url.openConnection();
        urlConn.setRequestProperty("accept", "application/json");
        urlConn.setRequestProperty("datetime", dateTimeString);
        urlConn.setRequestProperty("authorization", authorization);
        urlConn.setUseCaches(false);
        urlConn.setDoInput(true); // Triggers POST

Q1:このような場合はどうすればよいのでしょうか? accept には大文字の A ここで?同様に authorization は大文字である必要があるのでしょうか? A という質問もあります。なぜこのような質問をするかというと、多くの投稿で、人々が authorization として、例えば conn.setRequestProperty ("Authorization", "Basic " + encodedString); . これは次のように表示されます。 こちら .

Q2. 私は多くの setRequestProperty プロパティが定義されていますが、これは URL がこれらのプロパティをすべて含んでいることを意味するのでしょうか?私が上記で使用したプロパティ以外に存在するものはありますか?

どのように解決するのですか?

A1: HTTP のヘッダーフィールドには、general-header (4.5 節)、request-header (5.3 節)、response-header (6.2 節)、entity-header (7.1 節) があり、RFC822 [9] のセクション 3.1 で示されているのと同様の汎用フォーマットに従います。各ヘッダーフィールドは、名前に続いてコロン(":")とフィールド 値から成る。 フィールド名は大文字と小文字を区別しない .

A2: これらの変数は、HTTPリクエストヘッダに含まれます。もし、URLにこれらのパラメータを含めたい場合は、URL上に追加する必要があります。

http://www.google.com?bar=far&boo=foo