Python中,在客户端怎么发送cookie?

ligsh 2006-11-13 12:02:58
我想在Python中用urllib2.urlopen()打开一个页面,当该根据cookie的不同设置显示不同的内容,怎么把已经保存在client中的cookie发送到服务器端呢?(window平台)
...全文
669 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ligsh 2006-12-04
  • 打赏
  • 举报
回复
多谢iambic()
michael_g_hu 2006-11-30
  • 打赏
  • 举报
回复
htmllib 里面有发送cookie
ligsh 2006-11-22
  • 打赏
  • 举报
回复
to:iambic()
是我搞错了.因为我请求的目标页面默认是德文的,所以不会发送cookie,只有当点击页面上的某个标志后,才会发送Cookie,此时,按照你所说的方法是可以得到Cookie的.

另:可以在IE文件夹中得到cookie,但是怎么加载这个Cookie文件呢?
iambic 2006-11-22
  • 打赏
  • 举报
回复
找到这个文件以后解析内容,再网上搜了下,大致格式如下:

1. Cookie name
2. Cookie value
3. Host/path for the web server setting the cookie
4. Flags
5. Exirpation time
6. Expiration time
7. Creation time
8. Creation time
9. Record delimiter (*)

iambic 2006-11-15
  • 打赏
  • 举报
回复
那这个cookie可能是怎么收到的呢?是不是要登录或者点击什么才能收到?如果你能在IE临时文件中找到这个Cookie,可以直接把这个Cookie写进代码中吧。
ligsh 2006-11-15
  • 打赏
  • 举报
回复
to:iambic():
我在IE中请求目标页面,就可以在Temporary Internet Files中得到一个cookie,但是resp.info()里面只有date,transfer-encoding,connection,content-type和server五项。也就是说得不到cookie

另外,目标页面是根据cookie来决定显示德文页面(默认)还是英文页面的,怎么把修改后的cookie在发送回去?
Tharay 2006-11-13
  • 打赏
  • 举报
回复
用SOCKET来SEND最简单了
iambic 2006-11-13
  • 打赏
  • 举报
回复
发送一个没有cookie的请求,一般在收到的响应里会有服务器发来的Cookie。
记住这个Cookie,再发送请求,把Cookie加到header中就可以了。

比如:

import urllib2
req = urllib2.Request('http://www.google.com')
resp = urllib2.urlopen(req)
cookie = resp.info().getheader('Set-Cookie')

现在得到cookie了,你可以重新发请求:

req = urllib2.Request('http://www.google.com')
req.add_header('Cookie', cookie)
resp = urllib2.urlopen(req)
print resp.read()

只是举个例子,实际上可能还要设置其它的东西。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧