RS.com Prem Punkte leser script Probleme.

  • Hi ich fermute mal das es wieder nur eine kleinig keit ist die ich übersehe oder nicht weiss aber erst mal das script.


    [autoit]

    #include<IE.au3>
    $sUsername = "***"
    $sPassword = "***"
    $sUrl = "https://ssl.rapidshare.com/premiumzone.html"
    $oIE = _IECreate($sUrl, 0, 0, 1, 1)
    Sleep(2000)
    $oHWND = _IEPropertyGet($oIE, "hwnd")
    WinSetState($oHWND, "", @SW_MAXIMIZE) ;<--- kommt noch wieder weg
    $oForm = _IEFormGetCollection($oIE, 0)
    $oUsername = _IEFormElementGetObjByName($oForm, 'login')
    $oPassword = _IEFormElementGetObjByName($oForm, "password")
    _IEFormElementSetValue($oUsername, $sUsername)
    _IEFormElementSetValue($oPassword, $sPassword)
    _IEFormSubmit($oForm,0)
    InetGet ($sUrl, "c:\test.txt", 0,0)
    $file =FileOpen("c:\test.txt", 0)
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    EndIf
    $line = FileReadLine($file,129)
    $var = StringMid($line, 93, 4)
    MsgBox (0,"",$var,30)
    _IEQuit($oIE)

    [/autoit]

    Mein problem ist ich das ich immer diese hessliche meldung bekomme

    Spoiler anzeigen

    und mein script da durch nicht schaft den quelltext auszulesen. nu zur frage wie kann ich die meldung umgehen ohne es gleich mit FF.au3 zu machen. diese scrit soll im anschluss im hintergrund den punktestand abfragen ohne das was auf popt und ist nur ein teil von einem tool was ich bastel und das solte dann mit jedem windows laufen auch dan wen kein FF drauf ist.

  • Internet Explorer > Extras > Internetoptionen > Sicherheit > Gemischte Inhalte anzeigen (aktivieren)

    EDIT: Noch als Tipp

    [autoit]

    _IENavigate($oIE,"http://rapidshare.com/cgi-bin/premium.cgi?logout=1",1)

    [/autoit]


    Solltes noch machen bevor du den IE schließt, sonst wird das cookie nicht gelöscht.

    • Offizieller Beitrag

    Hallo

    Ich hab selbst mal eine UDF geschrieben. Ich möchte sie hier nicht Posten, aber ich denke niemand hat was dagegen wenn ich diese eine Funktion hier Poste.
    Der Vorteil ist, es ist viel schneller als der InternetExplorer und gibt genauen Error zurück falls einer vorhanden!
    Wenn du es weiter benutzen willst, natürlich bitte mein Namen drinbehalten ;)

    Spoiler anzeigen
    [autoit]

    $aPR3M = _RapidPrem_ReturnAccount("LOGIN", "PASSWORD")

    [/autoit] [autoit][/autoit] [autoit]

    Switch @error
    Case 1, 2, 3
    _Message("Konnte nicht zu https://rapidshare.com verbinden" & @CRLF & "Error Code: " & @error, 262144)
    Case 4
    _Message("Ihr Account wurde gefunden, aber das Passwort ist inkorrekt!", 262144)
    Case 5
    _Message("Ihr Account wurde nicht gefunden!", 262144)
    Case 6, 7, 13
    _Message("Sie können sich nicht mit der Premiumzone verbinden. Möglicherweise wurde ihr Account vom Abuse-Team gesperrt", 262144)
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox(0, "By GtaSpider", "RapidPoints: " & $aPR3M[0] & @CRLF & _
    "RapidPoints PU: " & $aPR3M[1] & @CRLF & _
    "Expiration date: " & $aPR3M[2] & @CRLF & _
    "Traffic Left: " & $aPR3M[3] & "kb")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _Message($sText,$iOpt = 0,$sTitle = "By GtaSpider")
    Exit MsgBox(48+$iOpt,$sTitle,$sText)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Return Account informations in an Array
    ;On Succes: $aRet[0] = RapidPoints;
    ; $aRet[1] = RapidPoints PU
    ; $aRet[2] = Expiration date
    ; $aRet[3] = Traffic left in KB
    ;Error 1 if InternetOpen can't initalize
    ;Error 2 if InternetOpenUrl returns error
    ;Error 3 if InternetFileRead return nothing
    ;Error 4 if Account be found but password is incorrect
    ;Error 5 if Account not found
    ;Error > 5 if cant read source
    ;by GtaSpider
    Func _RapidPrem_ReturnAccount($sUsername, $sPassword)
    Local $hDll = DllOpen("wininet.dll")
    Local $sUserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1", $hInternet, $hRequest, $iBufferSize = 1024 * 20
    Local $tNumberOfBytesRead = DllStructCreate("dword"), $tBuffer = DllStructCreate("byte[" & $iBufferSize & "]"), $sReadFile, $aRegEx, $aRet[4], $avResult, $iReadBuffer, $iErr
    Local $hInternet = DllCall($hDll, _
    "ptr", "InternetOpen", _
    "wstr", $sUserAgent, _
    "dword", 0, _
    "ptr", 0, _
    "ptr", 0, _
    "dword", 0)
    If @error Then Return SetError(1, 0, 0)
    $hInternet = $hInternet[0]
    Local $hHTTPReq = DllCall($hDll, _
    "ptr", "InternetOpenUrlW", _
    "ptr", $hInternet, _
    "wstr", "https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi?login=" & $sUsername & "&password=" & $sPassword, _
    "ptr", 0, _
    "dword", 0, _
    "dword", 0, _
    "ptr", 0)
    If @error Then Return SetError(2, 0, 0)
    $hHTTPReq = $hHTTPReq[0]
    Do
    $tNumberOfBytesRead = DllStructCreate("dword")
    $tBuffer = DllStructCreate("byte[" & $iBufferSize & "]")
    Local $avResult = DllCall($hDll, _
    "int", "InternetReadFile", _
    "ptr", $hHTTPReq, _
    "ptr", DllStructGetPtr($tBuffer), _
    "dword", $iBufferSize, _
    "ptr", DllStructGetPtr($tNumberOfBytesRead))
    If @error Or Not $avResult[0] Then ExitLoop
    $iReadBuffer = DllStructGetData($tNumberOfBytesRead, 1)
    $sReadFile &= BinaryToString(BinaryMid(DllStructGetData($tBuffer, 1), 1, $iReadBuffer))
    Until Not $iReadBuffer
    If Not StringLen($sReadFile) Then Return SetError(3, 0, 0)
    If StringInStr($sReadFile, "The Account has been found, but the password is incorrect.") Then Return SetError(4, 0, 0)
    If StringInStr($sReadFile, "Your Premium Account has not been found.") Then Return SetError(5, 0, 0)
    $aRegEx = StringRegExp($sReadFile, '(?s)<td>RapidPoints:</td>.*?<b>(.*?)</b>', 3)
    If Not IsArray($aRegEx) Then
    $aRet[0] = False
    $iErr += 6
    Else
    $aRet[0] = Number($aRegEx[0])
    EndIf
    $aRegEx = StringRegExp($sReadFile, '(?s)>RapidPoints PU</a>:</td>.*?<b>(.*?)</b>', 3)
    If Not IsArray($aRegEx) Then
    $aRet[1] = False
    $iErr += 7
    Else
    $aRet[1] = $aRegEx[0]
    EndIf
    $aRegEx = StringRegExp($sReadFile, '(?s)Expiration date:</td>.*?<b>(.*?)</b>', 3)
    If Not IsArray($aRegEx) Then
    $aRet[2] = False
    $iErr += 8
    Else
    $aRet[2] = _RapidDateToCalc($aRegEx[0])
    EndIf
    $aRegEx = StringRegExp($sReadFile, '(?s)Traffic left:</td>.*?Math\.ceil\((.*?)/1000\)', 3)
    If Not IsArray($aRegEx) Then
    $aRet[3] = False
    $iErr += 9
    Else
    $aRet[3] = $aRegEx[0]
    EndIf
    Return SetError($iErr, 0, $aRet)
    EndFunc ;==>_RapidPrem_ReturnAccount

    [/autoit] [autoit][/autoit] [autoit]

    ;RapidDateToCalc (e.g.: Sun, 14. Sep 2008 --> 2008/09/14)
    ;by GtaSpider
    Func _RapidDateToCalc($sRapidDate)
    Local $aMonthNumberAbbrev[13] = ["", "Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"]
    $sRapidDate = StringSplit(StringTrimLeft($sRapidDate, StringInStr($sRapidDate, ",") + 1), " ")
    Local $sRet = StringTrimLeft("00", StringLen(StringTrimRight($sRapidDate[1], 1))) & StringTrimRight($sRapidDate[1], 1) & ".", $i
    For $i = 1 To 12
    If $sRapidDate[2] = StringLeft($aMonthNumberAbbrev[$i], 3) Then $sRet &= StringTrimLeft("00", StringLen($i)) & $i & "."
    Next
    $sRet &= $sRapidDate[3]
    Return $sRet
    EndFunc ;==>_RapidDateToCalc

    [/autoit]

    Mfg Spider

  • danke für die hilfe ich habe das mit dem IE einstelung gemacht weill ich das auch in der reg endern kann und es so wieder bei anderen nutzezn kan. danke nur habe ich jetzt noch eine frage wie man sied lese ich ja mit hilfe von StringMid die punkte aus aber ich habe das problem das immer nur <b>0</b>, <b>00</b>,<b>000</b>,<b>0000</b>.... habe. nach hinten hin erweitert sich es um eine stelle aber wen ich dann sage er soll 5 stellen wieder geben zeigt er ja bei einer stelle 0</b> und das ist nicht so schön kann ich das irgend wie so machen das er nur zahlen wieder geben soll?

  • Versuchs doch mit _StringBetween anstatt StringMid, dann bist du nicht auf die feste Position fixiert.

  • @ Evoli_66: Wie heisst denn der Regkey, mit dem ich die Änderung einstellen kann?

    @ GTASpider: Beim Pr3m hast du es doch anfangs mit _IECreateEmbedded gemacht. Muss ich die Einstellungen mit den gemischten Inhalten dann auch machen oder fällt das weg?