-1

这可能看起来是一个非常简单的问题,我很困惑为什么这对我来说如此困难。

我想编写一个接受三个输入的函数:[url、data、cookie],它将使用 urllib(不是 urllib2)来获取请求的 url 的内容。我认为这很简单,所以我写了以下内容:

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

这不起作用,据我所知(有人可以证实吗?)而且我很难过。

4

1 回答 1

1

你没有说当你尝试它时出了什么问题,或者你正在测试什么http服务器。请求完成了吗?服务器是否无法识别您的 cookie?让我大吃一惊的一件事是,您可能会将多个 cookie 加入到单个标头字段中。如果您使用单独的Cookie:标题字段,它是否有效?

于 2010-05-22T04:50:29.340 回答