0

Selenium-rc プロキシ サーバーでいくつかのコードをデバッグしています。原因はHttpURLConnection、HTTP ヘッダーを取得するためのインターフェイスが、次のようなヘッダー名の重複に対応していないオブジェクトにあるようです。

Set-Cookie: foo=foo; Path=/
Set-Cookie: bar=bar; Path=/

HttpURLConnection(とを使用getHeaderField(int n)して)ヘッダーを取得する方法によりgetHeaderFieldKey(int n)、2番目のCookieが失われるようです。私の質問は

  1. HttpURLConnectionそれ自体が対処できないというのは本当ですか?
  2. もしそうなら、それに対する回避策はありますか?
4

3 に答える 3

1

私が推奨する回避策は、HttpUtilConnection をまったく使用しないことです。これは粗雑で直感的ではありませんが、代わりに commons-httpclient を使用します。

http://hc.apache.org/httpclient-3.x/

于 2008-10-01T07:35:10.327 に答える
0

実際に試していなくても (自分でそのトピックを処理したことを思い出せません)、UrlConnectionから継承された getHeaderFields もあります。これはあなたが必要とすることをしますか?

于 2008-10-01T07:29:49.983 に答える
0

わかりました、問題と元の質問に対する答えを見つけました。基本的に、私が使用した Cookie の実装 (Python のデフォルトの Cookie Lib) は、\r\n を使用してさまざまな Set-Cookie ヘッダーを区切りました (\n のように)。最初の空行で止まると思います)。したがって、最初の質問に対する答えは次のとおりです。はい、ヘッダー名の重複に対処できますが、別の点でバグがあります。現在、Python ライブラリを修正することは実行可能な回避策ですが、そのライブラリを所有していないため、長期的には機能しません。httpclient ライブラリを使用することは賢明な方法だと確信していますが、より少ない作業で済む解決策を望んでいます。だから私はまだそこで何をすべきか正確にはわかりません。

于 2008-10-01T08:14:09.487 に答える