1

可視性が不足していたため、テスト環境で動作するように「見えた」スクリプトがあります。ただし、現在、本番前の環境でテストを行っているところ、次の問題に気付きました...

スクリプトの基本的な機能は、ホスト Web フロント エンドで HTTP/URL 要求を実行し、ステータス コードとコンテンツ サイズ (つまりcontent-length) を返すことです。content-lenght変数に代入する前に をチェックする方法がわかりません。現時点では、次のものがあります。

#... Code ...
try:
  conn = urllib2.urlopen(line, timeout=1)
  contentLen = conn.headers['content-length']
#... Code ...

ただし、この content-length がない URL の場合、content length が欠落している場合、単にスクリプトが壊れます。contentLen例外を発生させるのではなく、割り当てる前にその存在を確認し、存在する場合は実際のcontent-length値を割り当て、存在しない場合は値「NULL」を割り当てたいと思います。したがって、これは " " として出力できますNull

前もって感謝します。

4

1 に答える 1

1

conn.headershttplib.HTTPMessageサブクラスでrfc822.Messageあり、したがって (限定された) のdictようなインターフェイスを持つです。2 引数の呼び出しを使用してget、デフォルト値を指定できます。

contentLen = conn.headers.get('content-length','NULL')
于 2012-11-14T16:55:20.440 に答える