これはおそらく非常に単純な質問のように思えますが、なぜこれが私にとってそれほど難しいのかについて、私は非常に混乱しています.
urllib (urllib2 ではなく) を使用して、要求された URL のコンテンツを取得する [url、data、cookie] の 3 つの入力を受け取る関数を作成したいと思います。簡単だと思ったので、以下のように書きました。
def fetch(url, data = None, cookies = None):
if isinstance(data, dict): data = urllib.urlencode(data)
if isinstance(cookies, dict):
# TODO: find a better way to do this
cookies = "; ".join([str(key) + "=" + str(cookies[key]) for key in cookies])
opener = urllib.FancyURLopener()
opener.addheader("Cookie", cookies)
obj = opener.open(url, data)
result = obj.read()
obj.close()
return result
私が知る限り、これは機能しません (誰か確認できますか?)。