python : web browser tester ( preliminary version )

import  urllib2,httplib

class ReDirHandler(urllib2.HTTPRedirectHandler):
    AUTOREDIRECTION=False
    def http_error_301(self, req, fp, code, msg, headers):
        if AUTOREDIRECTION ==False:
            return urllib2.HTTPError(req,"200","OK",headers,fp )
        return urllib2.HTTPRedirectHandler.http_error_301(
                    self, req, fp, code, msg, headers)
    def http_error_302(self, req, fp, code, msg, headers):
        if AUTOREDIRECTION ==False:
            return urllib2.HTTPError(req,"200","OK",headers,fp )
        return urllib2.HTTPRedirectHandler.http_error_302(
                    self, req, fp, code, msg, headers)


class Browser(object):

    USER_AGENT="Mozilla/5.0 (Windows; U; Windows NT 6.0; ja; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14"
    ACCEPT="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"
    ACCEPT_LANGUAGE="ja,en-us;q=0.7,en;q=0.3"
    ACCEPT_ENCODING="gzip,deflate"
    ACCEPT_CHARSET="Shift_JIS,utf-8;q=0.7,*;q=0.7"
    KEEP_ALIVE="300"
    CONNECTION = "keep-alive"

    def __init__(self,url="",agent=USER_AGENT,accept=ACCEPT,accept_lang=ACCEPT_LANGUAGE,accept_enc=ACCEPT_ENCODING,accept_charset=ACCEPT_CHARSET, keep_alive=KEEP_ALIVE, con=CONNECTION,cookie=''):
        self.url=url
        self.headers = { "User-Agent": agent, "Accept": accept , "Accept-Language" : accept_lang , "Accept-Encoding" : accept_enc , "Accept-Charset" : accept_charset , "Keep-Alive": keep_alive , "Connection": con,'Cookie':cookie}

    def go(self,u=None):
        if u == None:
            u = self.url
        self.url = u
        httplib.HTTPConnection.debuglevel=1
        self.request=urllib2.Request(self.url)
        for i in self.headers:
           if len(self.headers[i]) > 0:
               self.request.add_header(i,self.headers[i])
        op=urllib2.build_opener(ReDirHandler())
        self.response = op.open(self.request)

    def content(self):
        return self.response.readlines()
カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中