2

ログイン要求への応答で非標準の HTTP ヘッダーを送信する Web アプリケーションを使用しています。問題のヘッダーは次のとおりです。

SSO_STATUS: LoginFailed 

LWP::Response as で抽出しようとしまし$response->header('SSO_STATUS')たが、うまくいきません。などSet-Cookieの標準ヘッダーでは機能します。Expires

生のヘッダーを操作する方法はありますか?

4

2 に答える 2

7

HTTP::Headersのドキュメントを見ると、次のように記載されています

ヘッダー フィールド名のスペルは通常、'_' から '-' への変換を含めて正規化されます。これが適切でないアプリケーションもあります。フィールド名の前に「:」を付けると、特定のスペルを強制できます。たとえば、ヘッダー フィールド名を「Foo-Bar」ではなく foo_bar として表示したい場合は、次のように設定できます。

  $h->header(":foo_bar" => 1);

これらのフィールド名は、「:」がそのままの for $h->header_field_names$h->scanコールバックで返されますが、コロンは に表示されません$h->as_string

于 2010-10-26T10:27:15.160 に答える
4

Perlmonks のこのスレッドを参照してください。

としてヘッダー フィールドの値にアクセスする必要があります$response->header('SSO-STATUS')

名前にアンダースコアを含むフィールドを設定するための構文:
$response->header(':SSO_STATUS' => 'foo');

于 2010-10-26T10:02:22.273 に答える