# -*-coding:utf-8-*-
__author__ = 'magicpwn'
import urllib2
import urllib
import Cookie
# 无参数时,一般访问用法及返回信息的获取
respon = urllib2.urlopen('http://www.baidu.com')
print 'code:', respon.getcode(), 'URL:', respon.geturl()
print '==================Headers================='
print respon.info()             # 头域字典
print respon.info()['date']     # 头域信息的获取
print '==================Data===================='
print respon.read()

query_args = {'name': 'admin', 'password': '123456'}
encoded_args = urllib.urlencode(query_args)
# 设置get参数,使用http get方式,传递参数放在URL里
urlfinal = 'http://www.baidu.com/?' + encoded_args
respon2 = urllib2.urlopen(urlfinal)
print respon2.getcode()
# 使用post方式,传递参数放在数据包里
urlfinal2 = 'http://www.baidu.com/'
respon3 = urllib2.urlopen(urlfinal2, encoded_args)
print respon3.getcode()

# 增加/修改发出首部     # 增加Cookie首部可以使用这个方法
request = urllib2.Request('http://magicpwn.blog.51cto.com/')
request.add_header('User-agent', 'just test')
request.add_header('Cookie', 'www51cto=6CD8axxx0D9ExxxF75xxD7xxxx7E77hIxO; pub_cookietime=2xx2xx87;')
respon4 = urllib2.urlopen(request)
print respon4.info()
print respon4.read()

# Request 可以增加首部也可以增加Data,增加data后,http方法自动有get改为Post
request.add_data(encoded_args)
respon5 = urllib2.urlopen(request)
print respon5.getcode()
# Cookie一般由服务器创建,其使用Cookie模块进行创建和设置Cookie
# co = Cookie.simpleCookie()
# co['mycookie'] = 'cookie_value'
# 此时print co
# > Set-Cookie: mycookie=cookie_value
C:\Python27\python.exe C:/Users/Administrator/PycharmProjects/te5t/testurllib2.py
code: 200 URL: http://www.baidu.com
==================Headers=================
Date: Sun, 16 Aug 2015 15:58:48 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: Close
Vary: Accept-Encoding
Set-Cookie: BAIDUID=436BFDFEE5BA933A28CEB2C2ACED5773:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BIDUPSID=436BFDFEE5BA933A28CEB2C2ACED5773; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: PSTM=1439740728; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=0; path=/
Set-Cookie: H_PS_PSSID=14346_1444_16780_14430_12867_16520_16800_16660_16427_16514_15261_12027_13932_16720_16867; path=/; domain=.baidu.com
P3P: CP=" OTI DSP COR IVA OUR IND COM "
Cache-Control: private
Cxy_all: baidu+39e7b20e6ee9474fa191e989f65b8e05
Expires: Sun, 16 Aug 2015 15:58:07 GMT
X-Powered-By: HPHP
Server: BWS/1.1
X-UA-Compatible: IE=Edge,chrome=1
BDPAGETYPE: 1
BDQID: 0xd89ef62700000011
BDUSERID: 0

Sun, 16 Aug 2015 15:58:48 GMT
==================Data====================
<!DOCTYPE html><!--STATUS OK--><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><title>百度一下,你就知道</title><div id="u"><a class="toindex" href="/">百度首页</a><a href="javascript:;" name="tj_settingicon" class="pf">设置<i class="c-icon c-icon-triangle-down"></i></a><a href="https://passport.baidu.com/v2/?login&tpl=mn&u=http%3A%2F%2Fwww.baidu.com%2F" name="tj_login" class="lb" onclick="return false;">登录</a></div><div id="u1"><a href="http://news.baidu.com" name="tj_trnews" class="mnav">新闻</a></html>(html代码有删除)

200
200
Server: Tengine
Date: Sun, 16 Aug 2015 15:58:48 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Set-Cookie: PHPSESSID=438c259ccd7d669272c849abec0d3c3e; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: lastvisit=0%091439740728%09%2Findex.php%3F; expires=Mon, 15-Aug-2016 15:58:48 GMT; path=/; domain=.blog.51cto.com
If-Modified-Since: Sat, 15 Aug 2015 16:00:00 GMT
Load-Balancing: web39

200

进程已结束,退出代码0

python Urllib2模块_python

python Urllib2模块_ urllib2_02

python Urllib2模块_python_03

python Urllib2模块_python_04