Exemple #1
0
 def run(self):
     print "Posting comment %d!" % counter
     req = urllib2.Request(
         "http://comment.myspace.com/index.cfm?fuseaction=user.viewProfile_commentForm&friendID=%s"
         % friendID)
     res = opener.open(req)
     forms = ClientForm.ParseResponse(res)
     form = forms[1]
     form["ctl00$cpMain$postComment$commentTextBox"] = message
     res = opener.open(form.click())
     forms = ClientForm.ParseResponse(res)
     form = forms[1]
     opener.open(form.click())
Exemple #2
0
	def run(self):
		global success
		value = getword()
		try:
			print "-"*12
			print "User:"******"Password:"******"User-agent","Mozilla/5.0 (compatible)")]
			ClientCookie.install_opener(opener)
			fp = ClientCookie.urlopen("https://www.gmail.com/")
			forms = ClientForm.ParseResponse(fp)
			form = forms[0]
			form["Email"]  = sys.argv[1] 
			form["Passwd"] = value      
			fp = ClientCookie.urlopen(form.click())
			site = fp.readlines()
			for line in site:
				if re.search("Gmail - Inbox", line):
					print "\tSuccessful Login:", value
					success =  value
					sys.exit(1)
			fp.close()
		except(socket.gaierror), msg: 
			pass
Exemple #3
0
 def run(self):
     global success
     value = getword()
     try:
         print "-" * 12
         print "User:"******"Password:"******"User-agent", random.sample(headers, 1)[0])]
         ClientCookie.install_opener(opener)
         fp = ClientCookie.urlopen(sys.argv[1])
         forms = ClientForm.ParseResponse(fp)
         form = forms[0]
         form["user"] = sys.argv[2]
         form["pass"] = value
         fp = ClientCookie.urlopen(form.click())
         site = fp.readlines()
         for line in site:
             if re.search("Login failed.", line.lower()) != None:
                 print "\tSuccessful Login:", value
                 success = value
                 sys.exit(1)
         fp.close()
     except (socket.gaierror, urllib2.HTTPError), msg:
         print msg
         pass
Exemple #4
0
 def run(self):
     global success
     value = getword()
     try:
         print "-" * 12
         print "User:"******"Password:"******"User-agent", random.sample(headers, 1)[0])]
         ClientCookie.install_opener(opener)
         fp = ClientCookie.urlopen(sys.argv[1])
         forms = ClientForm.ParseResponse(fp)
         form = forms[0]
         form["username"] = sys.argv[2]
         form["password"] = value
         fp = ClientCookie.urlopen(form.click())
         site = fp.readlines()
         for line in site:
             if re.search("invalid password", line.lower()) != None:
                 print "\tSuccessful Login:"******"The maximum number of 5 login attempts has been exceeded.",
                     line):
                 print "Attempts exceeded"
         fp.close()
     except (socket.gaierror), msg:
         pass
class FormInteract:
    time_history = 10

    def __init__(self, url, debug=False, use_lynx=True):
        self.url = url
        self.default_form = None
        self.forms = None
        self.count = 0
        self.times = []
        self.debug = debug
        self.use_lynx = use_lynx

    def get(self):
        self._get(self.url)

    def _get(self, req):
        starttime = time.time()
        try:
            self.response = ResponseRecorder(ClientCookie.urlopen(req))
        except urllib2.HTTPError, e:
            # urllib2.HTTPError instances are also Response objects
            self.response = ResponseRecorder(e)
            self.response.read()
            try:
                url = req.get_full_url()
            except AttributeError:
                url = req
            raise InteractError('%s: %s' % (url, e))
        self.forms = ClientForm.ParseResponse(self.response)
        self.default_form = 0
        interact_time = time.time() - starttime
        self.times = [interact_time] + self.times[:self.time_history - 1]
        #        info(' interaction took %.3fs' % interact_time)         # XXX
        self.count += 1
Exemple #6
0
    def get_forms(self, url=None, *args, **kw):
        posturl = url or self.get_url()
        fifo = StringIO()
        fifo.writelines(self.get_html(url, *args, **kw))
        fifo.seek(0)
        forms = ClientForm.ParseFile(fifo, posturl, backwards_compat=False)

        return [FORM(self, form) for form in forms]
Exemple #7
0
 def get_forms(self):
     """Returns all forms in the current document.
     The returned form objects implement the ClientForm.HTMLForm interface.
     """
     if self._forms is None:
         import ClientForm
         self._forms = ClientForm.ParseResponse(self.get_response(), backwards_compat=False)
     return self._forms
Exemple #8
0
    def _send_email_form(self, to, subject, body, cc, bcc, callback=None):
        cfg = self.HM.Network.configuration
        import ClientForm

        form = ClientForm.HTMLForm(util.UrlQuery(util.httpjoin(
            self.inbox_url, '/mail/SendMessageLight.aspx'),
                                                 _ec=1,
                                                 n=ntok()),
                                   method="POST",
                                   request_class=self.RequestFactory)
        form.new_control('hidden', '__VIEWSTATE', {'value': ''})
        form.new_control('hidden', cfg.CanaryToken, {'value': cfg.CanaryValue})
        form.new_control('hidden', 'MsgPriority', {'value': '0'})
        form.new_control('hidden', 'ToolbarActionItem',
                         {'value': 'SendMessage'})
        form.new_control('hidden', 'InfoPaneActionItem', {'value': ''})
        form.new_control('hidden', 'folderCache', {'value': ''})
        form.new_control('hidden', 'fDraftId', {'value': ''})
        form.new_control('hidden', 'fMsgSentState', {'value': 'NOACTION'})
        form.new_control('hidden', 'IsSpellChecked', {'value': 'false'})
        form.new_control('hidden', 'fFrom', {'value': self.username})
        form.new_control('hidden', 'cpselectedAutoCompleteTo', {'value': '[]'})
        form.new_control('hidden', 'fTo', {'value': '"" <%s>;' % to})
        form.new_control('hidden', 'cpselectedAutoCompleteCc', {'value': ''})
        form.new_control('hidden', 'fCc', {'value': cc})
        form.new_control('hidden', 'cpselectedAutoCompleteBcc', {'value': ''})
        form.new_control('hidden', 'fBcc', {'value': bcc})
        form.new_control('hidden', 'fSubject', {'value': subject})
        form.new_control('hidden', 'fAttachment_data', {'value': ''})
        form.new_control('hidden', 'isFirstPL', {'value': ''})
        form.new_control('hidden', 'RTE_MessageType', {'value': 'PlainText'})
        form.new_control('hidden', 'fMessageBody', {'value': body})

        request = form.click()

        log.info('Request obj = %r, vars = %r', request, vars(request))

        def check_success_send(resp):
            if resp is None:
                # assume it worked?
                return callback.success()

            data = resp.read()
            if 'SentMailConfirmation' in data:
                log.info('sent email!')
                callback.success()
            else:
                log.info('failed to send email: %r', data)
                callback.error()

        def check_error_send(exc):
            log.info('failed to send email: %r', exc)
            callback.error()

        util.threaded(self.open)(request,
                                 success=check_success_send,
                                 error=check_error_send)
def response(url):
    response = urllib2.urlopen(urllib2.Request(url))
    forms = ClientForm.ParseResponse(response)
    response.close()
    form = forms[1]
    #print form
    nt = raw_input("Numéro de table : ")
    form["id_table"] = nt
    year = raw_input("Année d'obtention : ")
    form["annee"] = [year]
    #request2= form.click()
    response2 = urllib2.urlopen(form.click())
    return urllib2.urlopen(response2.geturl())
Exemple #10
0
        def _do_set(resp):
            if not self.is_logged_in():
                callback.error(Exception("not logged in"))

            resp.seek(0)
            form = ClientForm.ParseResponse(resp)[0]
            form.set_value(status, 'us')
            form.set_value(mood, 'mn')

            p = net.UrlQuery.parse(form.action)
            p['query'].pop('bfd', None)
            form.action = net.UrlQuery.unparse(**p)

            self.request('set_status', request=form.click(), callback=callback)
Exemple #11
0
    def _submit_login_form(self, resp):
        resp.seek(0)
        self._login_resp = resp
        forms = ClientForm.ParseResponse(resp)
        form = None
        for form in forms:
            if form.name == 'aspnetForm':
                break

        if form is None:
            return

        form.set_value(self.username, 'emailTextBox')
        form.set_value(self.pw_provider(), 'passwordTextBox')

        self.request('login', request=form.click())
Exemple #12
0
 def forms(self):
     import ClientForm
     encoding = self.encoding
     try:
         forms = ClientForm.ParseResponseEx(
             self._response,
             select_default=self.select_default,
             form_parser_class=self.form_parser_class,
             request_class=self.request_class,
             encoding=encoding,
             _urljoin=_rfc3986.urljoin,
             _urlparse=_rfc3986.urlsplit,
             _urlunparse=_rfc3986.urlunsplit,
         )
     except ClientForm.ParseError, exc:
         raise ParseError(exc)
Exemple #13
0
    def __init__(self, username, password):
        self.username = username
        self.password = password
        self.url = 'http://www.reddit.com/saved'

        cookie_jar = cookielib.LWPCookieJar()
        cookie_jar = urllib2.HTTPCookieProcessor(cookie_jar)
        # debugger = urllib2.HTTPHandler(debuglevel=1)

        opener = urllib2.build_opener(cookie_jar)
        urllib2.install_opener(opener)

        response = urllib2.urlopen(self.url)
        forms = ClientForm.ParseResponse(response, backwards_compat=False)

        form = forms[1]
        try:
            form['user'] = self.username
            form['passwd'] = self.password
        except Exception, e:
            print('Got an error: \n"%s"' % e)

            exit()
Exemple #14
0
    def logIn(self):
        """
        Logs in to private archives using the supplied email and password.
        Stores the cookie so we can continue to get subsequent pages.
        """

        cookieJar = mechanize.CookieJar()

        opener = mechanize.build_opener(
            mechanize.HTTPCookieProcessor(cookieJar))
        opener.addheaders = [("User-agent", "Mozilla/5.0 (compatible)")]
        mechanize.install_opener(opener)

        self.message('Logging in to ' + self.list_url)
        fp = mechanize.urlopen(self.list_url)
        forms = ClientForm.ParseResponse(fp, backwards_compat=False)
        fp.close()

        form = forms[0]
        form['username'] = self.username
        form['password'] = self.password
        fp = mechanize.urlopen(form.click())
        fp.close()
Exemple #15
0
#!/usr/bin/env python

import ClientForm
import urllib2
request = urllib2.Request(
    "http://wwwsearch.sourceforge.net/ClientForm/example.html")
response = urllib2.urlopen(request)
forms = ClientForm.ParseResponse(response, backwards_compat=False)
response.close()
## f = open("example.html")
## forms = ClientForm.ParseFile(f, "http://example.com/example.html",
##                              backwards_compat=False)
## f.close()
form = forms[0]
print form  # very useful!

# A 'control' is a graphical HTML form widget: a text entry box, a
# dropdown 'select' list, a checkbox, etc.

# Indexing allows setting and retrieval of control values
original_text = form["comments"]  # a string, NOT a Control instance
form["comments"] = "Blah."

# Controls that represent lists (checkbox, select and radio lists) are
# ListControl instances.  Their values are sequences of list item names.
# They come in two flavours: single- and multiple-selection:
form["favorite_cheese"] = ["brie"]  # single
form["cheeses"] = ["parmesan", "leicester", "cheddar"]  # multi
#  equivalent, but more flexible:
form.set_value(["parmesan", "leicester", "cheddar"], name="cheeses")
Exemple #16
0
import ClientForm
import urllib2

request = urllib2.Request("http://jamez.dyndns.org/?p=custom&sub=upload")
response = urllib2.urlopen(request)
forms = ClientForm.ParseResponse(response, backwards_compat=False)
response.close()
## f = open("example.html")
## forms = ClientForm.ParseFile(f, "http://example.com/example.html",
##                              backwards_compat=False)
## f.close()
form = forms[0]
print form  # very useful!

# A 'control' is a graphical HTML form widget: a text entry box, a
# dropdown 'select' list, a checkbox, etc.

# Indexing allows setting and retrieval of control values
## original_text = form["comments"]  # a string, NOT a Control instance
## form["comments"] = "Blah."

# Controls that represent lists (checkbox, select and radio lists) are
# ListControl instances.  Their values are sequences of list item names.
# They come in two flavours: single- and multiple-selection:
## form["favorite_cheese"] = ["brie"]  # single
## form["cheeses"] = ["parmesan", "leicester", "cheddar"]  # multi
#  equivalent, but more flexible:
## form.set_value(["parmesan", "leicester", "cheddar"], name="cheeses")

# Add files to FILE controls with .add_file().  Only call this multiple
# times if the server is expecting multiple files.
Exemple #17
0
        name, base = name[1:], 16
    uc = unichr(int(name, base))
    if encoding is None:
        return uc
    else:
        try:
            repl = uc.encode(encoding)
        except UnicodeError:
            repl = "&#%s;" % data
        return repl


# bizarre import gymnastics for bundled BeautifulSoup
import _beautifulsoup
import ClientForm
RobustFormParser, NestingRobustFormParser = ClientForm._create_bs_classes(
    _beautifulsoup.BeautifulSoup, _beautifulsoup.ICantBelieveItsBeautifulSoup)
# monkeypatch sgmllib to fix http://www.python.org/sf/803422 :-(
sgmllib.charref = re.compile("&#(x?[0-9a-fA-F]+)[^0-9a-fA-F]")


class MechanizeBs(_beautifulsoup.BeautifulSoup):
    _entitydefs = htmlentitydefs.name2codepoint
    # don't want the magic Microsoft-char workaround
    PARSER_MASSAGE = [(re.compile('(<[^<>]*)/>'), lambda
                       (x): x.group(1) + ' />'),
                      (re.compile('<!\s+([^<>]*)>'), lambda
                       (x): '<!' + x.group(1) + '>')]

    def __init__(self,
                 encoding,
                 text=None,
Exemple #18
0
        form["ctl00$cpMain$postComment$commentTextBox"] = message
        res = opener.open(form.click())
        forms = ClientForm.ParseResponse(res)
        form = forms[1]
        opener.open(form.click())


# login
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
opener.addheaders = [('User-agent',
                      'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')]
urllib2.install_opener(opener)
req = urllib2.Request(
    "http://login.myspace.com/index.cfm?fuseaction=login.process")
res = opener.open(req)
forms = ClientForm.ParseResponse(res)
form = forms[1]
form["email"] = email
form["password"] = password
opener.open(form.click())

# post comment
counter = 0
while 1:
    try:
        if threading.activeCount() < thread_limit:
            print counter
            postComment().start()
            counter += 1
            sys.stdout.write("\r%d Comments Posted." % counter)
            sys.stdout.flush()
Exemple #19
0
    uc = chr(int(name, base))
    if encoding is None:
        return uc
    else:
        try:
            repl = uc.encode(encoding)
        except UnicodeError:
            repl = "&#%s;" % data
        return repl


# bizarre import gymnastics for bundled BeautifulSoup
from . import _beautifulsoup
from . import ClientForm
RobustFormParser, NestingRobustFormParser = ClientForm._create_bs_classes(
    _beautifulsoup.BeautifulSoup, _beautifulsoup.ICantBelieveItsBeautifulSoup
    )
# monkeypatch sgmllib to fix http://www.python.org/sf/803422 :-(
import sgmllib
sgmllib.charref = re.compile("&#(x?[0-9a-fA-F]+)[^0-9a-fA-F]")

class MechanizeBs(_beautifulsoup.BeautifulSoup):
    _entitydefs = html.entities.name2codepoint
    # don't want the magic Microsoft-char workaround
    PARSER_MASSAGE = [(re.compile('(<[^<>]*)/>'),
                       lambda x:x.group(1) + ' />'),
                      (re.compile('<!\s+([^<>]*)>'),
                       lambda x:'<!' + x.group(1) + '>')
                      ]

    def __init__(self, encoding, text=None, avoidParserProblems=True,
Exemple #20
0
dir_name = ""
local_dir_state = False

#
#if len(sys.argv)==2:
#	local_dir_state=True
#	dir_name=sys.argv[1]

if (local_dir_state == False):
    #login
    #dir = os.path.dirname("/home/ijij41/clawler/")
    #os.chdir(dir)
    dir = os.path.dirname("/archive/web/html/ubi/")
    os.chdir(dir)
    html = open('login.asp')
    forms = ClientForm.ParseFile(
        html, 'http://www.u-express.com/login/LoginProc.asp')
    form = forms[0]
    #print form
    form['id'] = 'dream2011'
    form['pwd'] = 'dream'
    request = form.click()
    response = urllib2.urlopen(request, timeout=5)
    #print response.read()

    #get all information
    for kiosk_num in kiosk_list.keys():
        locker_info[kiosk_num] = getKioskData(kiosk_num)

    standard_date = datetime.datetime.now()
    oneday_before = standard_date - datetime.timedelta(days=1)