urllib包和urllib2包基于httplib包之上,提供高层次的抽象,用于处理url请求,urllib 和 urllib2 可以更方便地进行 HTTP GET 和 POST 等各种操作。
(1)
urllib2.Request(url[, data[, headers]]) ,发送请求,创建request后,还可以进行其他添加
url: 请求的链接。如:'http://www.xiupin.com/index.html'
data: 请求数据
headers: 请求头信息
(2)urlopen(url) ,
获取响应,
除了"http:",url同样可以使用"ftp:","file:"等来替代
(3)response.read(),获取响应内容
利用cookie登录XP,并获取用户信息:
import urllib2
import cookielib
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
def login(HOST, username, password):
#登录第一步:reg.163.com
URL_reg = "https://reg.163.com/logins.jsp?product=paopao&domains=163.com"
DATA = "username=%s&password=%s&url=http://paopao.163.com/authAndRedirect?redirectURL=http://www.xiupin.com/" % (username, password)
request = urllib2.Request(URL_reg,DATA)
#添加请求头信息
request.add_header("Content-Type", "application/x-www-form-urlencoded")
request.add_header("Accept", "text/html, application/xhtml+xml, */*")
request.add_header("Referer", "http://www.xiupin.com")
request.add_header("Accept-Language", "zh-CN")
request.add_header("User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)")
request.add_header("Host", "reg.163.com")
request.add_header("DNT", "1")
request.add_header("Connection", "Keep-Alive")
response = opener.open(request) #发送POST请求
#response = urllib2.urlopen(request)
#print response.read()
#登录第二步(跳转):paopao.163.com
URL3 = "http://paopao.163.com/authAndRedirect?username=%s&redirectURL=http://www.xiupin.com/" % username
request3 = urllib2.Request(URL3)
response3 = opener.open(request3) #发送GET请求
#print response3.read()
#for index in cookie:
#print index.name,index.value
def getUserInfo(URL2):
#URL2 = "http://www.xiupin.com/profile/getUserInfo"
DATA2 = ""
request2 = urllib2.Request(URL2,DATA2)
response2 = opener.open(request2) #发送POST请求
print response2.read()
urllib包和urllib2包基于httplib包之上,提供高层次的抽象,用于处理url请求,urllib 和 urllib2 可以更方便地进行 HTTP GET 和 POST 等各种操作。
(1)
urllib2.Request(url[, data[, headers]]) ,发送请求,创建request后,还可以进行其他添加
url: 请求的链接。如:'http://www.xiupin.com/index.html'
data: 请求数据
headers: 请求头信息
(2)urlopen(url) ,
获取响应,
除了"http:",url同样可以使用"ftp:","file:"等来替代
(3)response.read(),获取响应内容
利用cookie登录XP,并获取用户信息:
import urllib2
import cookielib
cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
def login(HOST, username, password):
#登录第一步:reg.163.com
URL_reg = "https://reg.163.com/logins.jsp?product=paopao&domains=163.com"
DATA = "username=%s&password=%s&url=http://paopao.163.com/authAndRedirect?redirectURL=http://www.xiupin.com/" % (username, password)
request = urllib2.Request(URL_reg,DATA)
#添加请求头信息
request.add_header("Content-Type", "application/x-www-form-urlencoded")
request.add_header("Accept", "text/html, application/xhtml+xml, */*")
request.add_header("Referer", "http://www.xiupin.com")
request.add_header("Accept-Language", "zh-CN")
request.add_header("User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)")
request.add_header("Host", "reg.163.com")
request.add_header("DNT", "1")
request.add_header("Connection", "Keep-Alive")
response = opener.open(request) #发送POST请求
#response = urllib2.urlopen(request)
#print response.read()
#登录第二步(跳转):paopao.163.com
URL3 = "http://paopao.163.com/authAndRedirect?username=%s&redirectURL=http://www.xiupin.com/" % username
request3 = urllib2.Request(URL3)
response3 = opener.open(request3) #发送GET请求
#print response3.read()
#for index in cookie:
#print index.name,index.value
def getUserInfo(URL2):
#URL2 = "http://www.xiupin.com/profile/getUserInfo"
DATA2 = ""
request2 = urllib2.Request(URL2,DATA2)
response2 = opener.open(request2) #发送POST请求
print response2.read()