スリムフレームワーク(バージョン3)を使用してPHPで書かれたWebサーバーにそれらを送るために、いくつかのヘッダーをHttpUrlConnection
に入れる必要があります。PHPのスリムヘッダーが既に連結されているのはなぜですか?
接続に同じキーのヘッダーを追加すると、問題が発生します。例えば :
HttpUrlConnection conn = createConnectionSomeHow();
conn.addRequestProperty("myHeader", "value1");
conn.addRequestProperty("myHeader", "value2");
Iはconn.getRequestProperties()
に時計を使用する場合、Iキー"myHeader"
有する単一のヘッダ値として2つの要素のリストを参照してください。ちょうど私がしたい。
しかし、私のWebサーバーはそのヘッダーをうまく受信していません。
私が書く場合:
$values = $request->getHeader('myHeader');
$values
は、それは、一つの文字列に連結し2つの値の値"value1, value2"
と1つの要素のリストだ、2つの要素のリストではありません。 これは本当に奇妙です。私はSlim documentationから読み取る:
あなたがPSR 7 Requestオブジェクトの のgetHeader($ name)メソッドを単一のヘッダの値(複数可)を取得することができます。これは、指定された ヘッダー名に対してという値の配列を返します。 1つのHTTPヘッダーに複数の 値があることに注意してください。
ヘッダーの値を自動的に連結するメソッドがあり、getHeaderLine
と呼ばれます。そして私はそれを呼んでいない。私はgetHeader
に電話しています。
この動作は正しいですか?何か間違っていますか?
HttpURLConnectionのは何ですか?このヘッダの$ _SERVERには何が入っていますか? –