CURL: Form abschicken funktioniert nicht.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CURL: Form abschicken funktioniert nicht.

    Hallo,

    ich möchte einen Rapidshare-Link (z.B. http://rapidshare.com/files/143896908/windows-kb890830-x64-v2.2.exe)
    über cUrl öffnen! Das geht soweit auch ganz gut.

    Ich ersetzte und komplettiere alle Links in dem Quellcode auch das "action" eines forms mit der url zu meinem curl-skript so dass die Seite immer wieder über mein Script geladen wird.
    Das klappt auch soweit ganz gut.

    Allerdings kann ich kein Post richtig absetzen, wenn ich auf den Button "Free user" klicke. Also ein Post wird schon gesendet, allerdings lande ich wieder auf der gleichen seite, statt auf der downloadseite mit dem countdown!

    Ich hab im Browser mit "live headers" mal verglichen, wo die die unterschiede im request sind! Der einzige Unterschied, an dem es vielleicht liegen kann ist, dass ich im header an Rapidshare den Host meiner URL schicke, und es vielleicht deshalb nicht geht!

    Kann ich den Host mit Curl manipulieren oder ist der immer fest?

    Oder liegt es an was anderem???

    Danke für antwort!

    Hier mal noch mein Quellcodeausschnitt aus meine klasse:

    PHP-Code:

            $this
    ->objCUrl curl_init();
            
    curl_setopt($this->objCUrlCURLOPT_URL$this->strLink);
            
    curl_setopt($this->objCUrlCURLOPT_REFERER$this->strLink);
            
    curl_setopt($this->objCUrlCURLOPT_HEADERtrue);
            
    curl_setopt($this->objCUrlCURLOPT_RETURNTRANSFERtrue);
            
    curl_setopt($this->objCUrlCURLOPT_COOKIESESSIONtrue);
            
    curl_setopt($this->objCUrlCURLOPT_COOKIEFILE$this->config_get('WEBROOT').'open.txt');
            
    curl_setopt($this->objCUrlCURLOPT_COOKIEJAR$this->config_get('WEBROOT').'open.txt');
            
    curl_setopt($this->objCUrlCURLOPT_HTTP_VERSIONCURL_HTTP_VERSION_1_0);
            
    curl_setopt($this->objCUrlCURLOPT_TIMEOUT$this->intTimeout);
            
    // ...POST oder FILES-Übergaben aufnehmen
            
    if ($this->strResponseMethode == 'POST') {
                
    $arrPostFields = array();
                foreach (
    $_POST as $strKey => $strValue) {
                    
    //$strValue = urlencode($strValue);
                    
    $arrPostFields[$strKey] = $strValue;
                }
                if (!empty(
    $_FILES)) {
                    foreach (
    $_FILES as $strKey => $strValue) {
                        if ((
    trim($strValue['name']) != "") && (trim($strValue['tmp_name']) != "")) {
                            
    $strOrgName $strValue['name'];
                            
    $strTmpName realpath($strValue['tmp_name']);
                            if (
    rename($strTmpName,(dirname($strTmpName)."/".$strOrgName))) {
                                
    $arrPostFields[$strKey] = "@".dirname($strTmpName)."/".$strOrgName;
                                
    $arrRemoveUploads[] = dirname($strTmpName)."/".$strOrgName;
                            }
                        }
                    }
                }
                
    curl_setopt($this->objCUrlCURLOPT_POST1);
                
    curl_setopt($this->objCUrlCURLOPT_POSTFIELDS$arrPostFields);
            }

            
    // ...Proxy vorhanden? Wenn ja über diesen öffnen
            
    if ($this->strProxy) {
                
    curl_setopt($this->objCUrlCURLOPT_PROXY$this->strProxy);
            }
            
    // ...Seiteninhalt jetzt holen
            
    $strPageContent curl_exec($this->objCUrl);
            
    // ...Fehler aufgetreten?
            
    if (curl_error($this->objCUrl)) {
                
    $this->open_addError(curl_error($this->objCUrl));
                return 
    false;
            }
            
    // ...Fertig!
            
    $this->arrCUrlInfo curl_getinfo($this->objCUrl);
            
    curl_close($this->objCUrl); 

  • #2
    Re: CURL: Form abschicken funktioniert nicht.

    Der Anbieter gibt sich mittels CAPTCHAs hinreichend Muehe, erkennen zu lassen, dass die automatisierte Nutzung des Angebotes durch Scripte, Bots, etc. nicht erwuenscht ist.
    Falls dir das als Indiz nicht reicht, kannst du es auch noch mal in den AGB nachlesen: "Personen, die Programme schreiben mit dem Ziel, gegen diese Nutzungsbedingungen zu verstossen, werden strafrechtlich verfolgt und für den entstandenen Schaden bzw. Verlust haftbar gemacht."

    Ich halte dein Vorhaben also nicht fuer unterstuetzenswert, in dem man dir hier bei deinem "Problem" auch noch weiterhelfen wuerde.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      völlig legal was ich vorhabe. Ich umgehe keinerlei captchas usw. ich brauch das lediglich für ein linkdecryption um linkstealing zu verhindern.

      Kommentar


      • #4
        Original geschrieben von TriphunEM
        ich brauch das lediglich für ein linkdecryption um linkstealing zu verhindern.
        Wenn du das jetzt noch mal auf Deutsch und etwas ausfuehrlicher beschreiben koenntest - so dass man auch erkennen kann, worin die Notwendigkeit bestehen soll, das Rapidshare-Formular serverseitig von deinem Script aus abzuschicken ....?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Es geht einfach darum den direkten Rapidshare-Link zu verschleiern, so dass andere den nicht einfach kopieren und weitergeben können.
          Für sowas gibt es auch zahlreiche Dienst die sich Linkprotection-Dienste nennen. Allerdings sind fast alle nicht wirklich so sicher, da sie den Link am ende einfach in einem Frame ausgeben.

          Ich will also in dem Sinne nix manipulieren, sondern einfach dem Uploader mehr sicherheit zur wahrung des linkes geben!

          Reicht das um jetzt hilfe für mein Problem zu bekommen?

          Kommentar


          • #6
            Original geschrieben von TriphunEM
            Es geht einfach darum den direkten Rapidshare-Link zu verschleiern, so dass andere den nicht einfach kopieren und weitergeben können.
            Und warum nicht?

            Ich will also in dem Sinne nix manipulieren, sondern einfach dem Uploader mehr sicherheit zur wahrung des linkes geben!
            Bietet Rapidshare nicht auch die Moeglichkeit an, Uploads mit einem Passwort zu versehen?

            Und wenn die Oeffentlichkeit, die die Nutzung eines oeffentlichen Service mit sich bringt, nicht gewuenscht ist - dann sollte man keinen oeffentlichen Service nutzen.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar

            Lädt...
            X