python中 找一个函数???

python中 找一个函数???

函数功能是能够获得一个网页的header信息。。。

哪位朋友知道跟我说声@@@@

谢谢。
import urllib
f=urllib.urlopen("http://www.google.com")
print(f.headers)


QUOTE:
原帖由 alan_yang 于 2008-9-27 15:58 发表
import urllib
f=urllib.urlopen("http://www.google.com")
print(f.headers)

thanks
你这样的话虽然取到了head实际上整个页面都下下来了

刚好我也碰到过要取head的问题 不过我取得是状态和head

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/env python
#-*- coding: utf-8 -*-

'''
    Get Url status and head
'''


#************************
# FileName: GetHeard.py
# Author: ghostwwl
# Email: [email]ghostwwl@gmail.com[/email]
#************************

import httplib

def getHead(url):
    Head = None
    Status = None
    try:
        site = None
        page = None
        url = url.replace("http://", '')
        if not '/' in url:
            url += '/'
        site, page = url.split("/", 1)
        if site is not None and page is not None:
            if page == '':
                page = '/'
            if not page.startswith('/'):
                page = '/%s' % page
            httpconn = httplib.HTTPConnection(site)
            httpconn.request("HEAD", page)
            resp = httpconn.getresponse()
            print dir(resp)
            Status =  resp.status
            Head = resp.getheaders()
        if Head is not None:
            Head = dict(Head)
    except Exception, e:
        raise Exception(str(e))
    return (Status, Head)

if __name__ == '__main__':
    s, r = getHead("http://www.baidu.com/s?ct=0&ie=gb2312&bs=http+head&sr=&z=&cl=3&f=8&wd=http+head%CA%FD%BE%DD%BD%E2%CE%F6")
    print s
    print r



QUOTE:
原帖由 ghostwwl 于 2008-9-29 03:02 发表
你这样的话虽然取到了head实际上整个页面都下下来了

刚好我也碰到过要取head的问题 不过我取得是状态和head


#!/usr/bin/env python
#-*- coding: utf-8 -*-

'''
    Get Url status and head
''' ...

8错。
不错,可以看出urllib,httplib的一些区别


QUOTE:
原帖由 ghostwwl 于 2008-9-29 03:02 发表
你这样的话虽然取到了head实际上整个页面都下下来了

刚好我也碰到过要取head的问题 不过我取得是状态和head


#!/usr/bin/env python
#-*- coding: utf-8 -*-

'''
    Get Url status and head
''' ...

刚刚使用了一下。
对163测试返回来:
[('x-cache', 'HIT from cache.163.com'), ('accept-ranges', 'bytes'), ('expires', 'Mon, 29 Sep 2008 07:01:06 GMT'), ('vary', 'Accept-Encoding'), ('server', 'Apache/2.2.6 (Unix)'), ('connection', 'close'), ('x-pad', 'avoid browser bug'), ('cache-control', 'max-age=180'), ('date', 'Mon, 29 Sep 2008 06:58:06 GMT'), ('content-type', 'text/html; charset=GB2312'), ('age', '173')]


但是我觉得还少了点东西,正常的headers应该还包括:HTTP OK 200这一行,不知道怎么少了。。。。
还是函数用 的不对。
建一你从httplib开始 因为urllib 和urllib2是在httplib等之上的

urllib 和urllib2碰到http协议的时候 实际调用的httplib之类的  呵呵

标准库之间 是有关系的 不用到处找源代码 看 有时间 多看看 标准库的 代码  

可以发现不少东西


QUOTE:
原帖由 ghostwwl 于 2008-9-29 17:05 发表
建一你从httplib开始 因为urllib 和urllib2是在httplib等之上的

urllib 和urllib2碰到http协议的时候 实际调用的httplib之类的  呵呵

标准库之间 是有关系的 不用到处找源代码 看 有时间 多看看 标准库 ...

还没达到那个水平。。。唉,要学的东西太多了???

ghostwwl
python的httplib库里有能够获得完整headers信息的函数吗?
你具体去看看那个库 就知道 然后找点http协议的资料 对着看