6

ご存知かもしれませんが、多くの場合、HTTPサーバーは単なるsession_idCookie以上のものを送信します。ただし、httplib2は次のように辞書を使用してCookieを処理します。

response, content = http.request(url, 'GET', headers=headers)

headers = {'Cookie': response['set-cookie']}

url = 'http://www.example.com/home'   
response, content = http.request(url, 'GET', headers=headers)

では、どうすれば追加のCookieを設定できますか?辞書で処理する場合、二重のCookieキーを持つことはできません:S。

御時間ありがとうございます。

4

4 に答える 4

5

Cookieは、セミコロンで区切られた単一のHTTPヘッダーに含まれています。例:

cookie1=value1;cookie2=value2

したがって、サーバーから送信されたCookieから文字列を作成し、それをCookieヘッダーとして設定する必要があります。

編集:実際、httplib2を少しいじって質問を読み直しましたが、必要な機能を取得するために実際に何かをする必要があるかどうかはわかりません。set-cookiehttplib2から返される値は、実際にはサーバーから送信された生のヘッダーSet-Cookieです。cookieそれを新しい応答のヘッダーに入れるだけで、すべてが正常に機能します。技術的には、などのCookie属性を削除する必要がありますがexpiry、ほとんどのサーバーはそれを問題なく処理できると思います。

于 2009-11-15T17:47:05.037 に答える
3

はい、リクエストを行うときに Cookie ヘッダーについて他の場所で見つけましたが、サーバーは、ヘッダーごとに Cookie (および有効期限、ドメインなどの属性) を含むいくつかの Set-Cookie ヘッダーを送信する場合があります。しかし、httplib2 で使用されている辞書システムでは、サーバーから送信された可能性のあるすべての Set-Cookie ヘッダーを実際に取得することはできません。

それで、それ以上のアイデア:)?

于 2009-11-15T18:14:50.290 に答える
-2

これを試して:

pp = re.compile('(Sun|Mon|Tue|Wed|Thu|Fri|Sat),')
pp.sub('','alpha Sun, beta')
'alpha  beta'
于 2010-05-21T14:25:45.373 に答える