Ich kann nicht gut Bash, darum helfe ich dir mal mit einen einfachen Pythonscript aus.
Funktioniert ohne Probleme.
Der Captcha ist außerdem ziemlich einfach. Statt 9KW kannst du mal probieren die Captchas mit OCR zu lösen. Bei ORC-Webseiten hat das gut funktioniert.
Dieser Script ist nur ein kleines Beispiel aber löst die Captchas automatisch und speichert zum Schluss die Cookies in "cookies.txt" ab.Code:print "Promptfile loginbot" print "[email protected]" import socks import socket socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "255.255.255.255", 1080) #Socks5 proxy socket.socket = socks.socksocket import urllib import urllib2 import cookielib import re #EasyHTTP by Raynor@Szenebox class EasyHTTP: def __init__(self): self.header = ( 'User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' ) self.cookies = cookielib.CookieJar() def HTTPRequest(self,url,data=None): self.opener = urllib2.build_opener(urllib2.HTTPRedirectHandler(), urllib2.HTTPHandler(debuglevel=0), urllib2.HTTPSHandler(debuglevel=0), urllib2.HTTPCookieProcessor(self.cookies)) self.addheaders = [self.header] urllib2.install_opener(self.opener) response = self.opener.open(url,data) return response.read() class Bot: def __init__(self): self.easyHTTP = EasyHTTP() def setUser(self,username,password): self.username = username self.password = password def login(self): print "fetch captcha.." self.easyHTTP.HTTPRequest('http://www.promptfile.com') html = self.easyHTTP.HTTPRequest('http://www.promptfile.com/modal.php',"modal=login") html = html.split('securimage_show.php?sid=')[1] sid = html.split('"')[0] captcha = open("captcha.png","w") captcha.write(self.easyHTTP.HTTPRequest('http://www.promptfile.com/securimage_show.php?sid='+sid)) captcha.close() captchacode = raw_input("Enter Captcha:\n$ ") print "login.." status = self.easyHTTP.HTTPRequest('http://www.promptfile.com/actions.php',"action=login&data[login]="+self.username+"&data[password]="+self.password+"&data"+"["+"code]="+captchacode) if '"status":1' in status: return 1 else: return 0 def start(self): self.__login() if __name__ == "__main__": b = Bot() b.setUser("Syrius","passwort") status = b.login() if status == 1: print "Login succeed!" else: print "Login failed!"
Sollte genau das sein, was du suchst.
Funktioniert dafür nicht unter Windows.
lgCode:print "Promptfile loginbot" print "[email protected]" import socks import socket socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "255.255.255.255", 1080) #Socks5 proxy socket.socket = socks.socksocket import urllib import urllib2 import cookielib import re import os from subprocess import call #EasyHTTP by Raynor@Szenebox class EasyHTTP: def __init__(self): self.header = ( 'User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' ) self.cookies = cookielib.CookieJar() def HTTPRequest(self,url,data=None): self.opener = urllib2.build_opener(urllib2.HTTPRedirectHandler(), urllib2.HTTPHandler(debuglevel=0), urllib2.HTTPSHandler(debuglevel=0), urllib2.HTTPCookieProcessor(self.cookies)) self.addheaders = [self.header] urllib2.install_opener(self.opener) response = self.opener.open(url,data) return response.read() class Bot: def __init__(self): self.easyHTTP = EasyHTTP() def setUser(self,username,password): self.username = username self.password = password def __login(self): print "fetch captcha.." self.easyHTTP.HTTPRequest('http://www.promptfile.com') html = self.easyHTTP.HTTPRequest('http://www.promptfile.com/modal.php',"modal=login") html = html.split('securimage_show.php?sid=')[1] sid = html.split('"')[0] captcha = open("captcha.png","w") captcha.write(self.easyHTTP.HTTPRequest('http://www.promptfile.com/securimage_show.php?sid='+sid)) captcha.close() call(["tesseract", "captcha.png", "captcha"], stdout=open(os.devnull, 'w')) captchacode = open("captcha.txt","r").read() captchacode = captchacode.split("\x0A\x0A")[0] print "login.." status = self.easyHTTP.HTTPRequest('http://www.promptfile.com/actions.php',"action=login&data[login]="+self.username+"&data[password]="+self.password+"&data"+"["+"code]="+captchacode) if '"status":1' in status: return 1 else: return 0 def start(self): while True: status = b.__login() if status == 1: print "Login succeed!" os.remove("captcha.txt") os.remove("captcha.png") break else: print "Login failed!" print "Try again.." cookies = open("cookies.txt","w") cookies.write(str(self.easyHTTP.cookies)) if __name__ == "__main__": b = Bot() b.setUser("username","password") status = b.start()





Zitieren