0

私には2つの方法があります

  def save_cookie(): 
      cookie = cookielib.MozillaCookieJar('cookie.txt') 
      opener = urllib2.build_opener(HTTPCookieProcessor(cookie)) 
      req = urllib2.Request(url=targeturl,headers=targetheaders) 
      opener.open(req) 
      cookie.save(ignore_discard=True,ignore_expires=True) 

  def get_cookie(): 
      cookie = cookielib.MozillaCookieJar() 
      print cookie.load(filename='cookie.txt').name

最初の方法は、応答からのファイルに Cookie を保存することです。2 番目の方法でファイルから Cookie を取得したいのですが、cookie.load(filename='cookie.txt') のタイプが None なので...

4

2 に答える 2

0

print cookie.load(filename='cookie.txt')

function--load() の値は none です。次のようにすればよいと思います。

cookie.load('cookie.txt')

cookie.name を出力

于 2016-08-22T08:17:03.800 に答える
0

を呼び出した後cookie.load()、オブジェクトを繰り返し処理して、cookie各 Cookie を順番に取得します。

for acookie in cookie:
    print acookie.name, acookie.value

コメント #1 への応答:

cookie のタイプは None! なので、何も出力されません。ファイルが正常に読み込まれなかったようです。

cookie.load()値を返しません。成功するか、例外をスローします。したがって、次のように、元のプログラムが使用しようとする方法で使用することはできません。

    print cookie.load(filename='cookie.txt').name

その行を次のように変更します。

    cookie.load(filename='cookie.txt')

そして、次のようにします。

    for acookie in cookie:
        print acookie

それでも Cookie が表示されない場合は、cookie.txtファイルの内容を確認してください。Cookie データが含まれていない場合、問題は Cookie を表示しようとする部分ではなく、Cookie を収集しようとするプログラムの部分にあります。(この URL からの応答に Cookie が含まれていることは確かですか?)

cookie.txtファイルに Cookie が含まれている場合は、質問を更新して、そのファイルの内容と関数の最新のソースを示してくださいget_cookie()

于 2012-07-01T17:40:47.337 に答える