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.
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!"
Dieser Script ist nur ein kleines Beispiel aber löst die Captchas automatisch und speichert zum Schluss die Cookies in "cookies.txt" ab.
Sollte genau das sein, was du suchst.
Funktioniert dafür nicht unter Windows.
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
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()
lg