connection keep-alive被换成close

connection keep-alive被换成close

各位大侠,小弟遇到一个棘手的问题需要解决,希望各位不惜笔墨指点一下吧。

问题如下,我使用urllib2写了一个提取服务器网页的程序,发现即使在http header里加上connection: keep-alive,发出去的request(抓包看到的),connection被改为了close. 所以现在的程序无法抓到原来的网页了。请问这是什么问题,如何解决。我们的应用基于session的,如果connect close后面的事情无法进行了 :(

大侠们,帮帮我吧。

        self.url = url
        req = urllib2.Request(self.url)
        req.add_header("Accept-Encoding", "gzip, deflate")
        req.add_header("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)")
        req.add_header("Connection", "Keep-Alive")
        req.add_header("Accept", ('image/gif, '
                                  'image/x-xbitmap, '
                                  'image/jpeg, '
                                  'image/pjpeg, '
                                  'application/x-shockwave-flash, '
                                  'application/vnd.ms-excel, '
                                  'application/vnd.ms-powerpoint,application/msword, '
                                  '*/*'))
        req.add_header("Accept-Language", "en-us")
        
        try:
            #handle = urllib2.urlopen(req)
            opener = urllib2.build_opener()
            myheader = opener.open(req)

抓包看到的:
GET /report/login.asp HTTP/1.1
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Host: www.abc.com
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint,application/msword, */*
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Connection: close
Cookie: ASPSESSIONIDQCSDDTDC=AGKBKKGCNPGHLNGGLGLPCFAB;
(Cookie:是程序后加上去的)
httplib2
翻了urllib2的代码,知道是什么原因了。Python urllib2还不支持persistence connection。

多谢指点,之前已经找到httplib2了。多谢