# coding: utf-8 import cookielib, urllib, urllib2 class RequestProcessor(object): def __init__(self): self.cookieJar = cookielib.CookieJar() self.cookieProcessor = urllib2.HTTPCookieProcessor(self.cookieJar) self.Opener = urllib2.build_opener(self.cookieProcessor) self.headers = { "User-agent": "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:21.0)"\ " Gecko/20130309 Firefox/21.0", "Accept-Language": "ru-RU, utf-8" } def getCookie(self, name): for cookie in self.cookieJar: if cookie.name == name: return cookie.value def request(self, url, data = None, headers = {}): if not headers: headers = self.headers if data: data = urllib.urlencode(data) request = urllib2.Request(url, data, headers) return request def open(self, request, timeout = 20): response = self.Opener.open(request, timeout = timeout) return response def post(self, url, data = {}): request = self.request(url, data) response = self.open(request) body = response.read() return (body, response) def get(self, url, data = {}): if data: url = url + "/?%s" % urllib.urlencode(data) request = self.request(url) response = self.open(request) body = response.read() return (body, response)