Ankündigung

Einklappen
Keine Ankündigung bisher.

cURL Request

Einklappen

Neue Werbung 2019

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

  • cURL Request

    Ich versuche gerade per cURL einen Worker für meinen Miner hinzuzufügen allerdings klappt das net so wie ich das will.. :
    PHP-Code:
    <?php
     
      $ch 
    curl_init();
      
      
    curl_setopt_array($ch, array(
        
    CURLOPT_RETURNTRANSFER => 1,
        
    CURLOPT_URL => 'http://doge.hashfaster.com/index.php?page=login',
        
    CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
        
    CURLOPT_POST => 1,
        
    CURLOPT_FOLLOWLOCATION => 0,
        
    CURLOPT_COOKIEJAR => 'cookie.txt',
        
    CURLOPT_POSTFIELDS => array(
            
    username => 'email',
            
    password => 'passwort'
        
    )
       ));
     
      
    $content curl_exec($ch);
      
     
    //create worker

        
    curl_setopt_array($ch, array(
        
    CURLOPT_RETURNTRANSFER => 1,
        
    CURLOPT_URL => 'http://doge.hashfaster.com/index.php?page=account&action=workers',
        
    CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
        
    CURLOPT_POST => 1,
        
    CURLOPT_FOLLOWLOCATION => 0,
        
    CURLOPT_COOKIEJAR => 'cookie.txt',
        
    CURLOPT_POSTFIELDS => array(
            
    username => 'adsfdgfdfg',
            
    password => 'password',
            
    page => 'account',
            
    workers => 'action',
            do => 
    'add'
        
    )
       ));
     
      
      
    $content curl_exec($ch);
     
      
    curl_close($ch);
      
    ?>


  • #2
    Hallo, willkommen im Forum.

    allerdings klappt das net so wie ich das will.. :
    Bedeutet was?
    Relax, you're doing fine.
    RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

    Kommentar


    • #3
      Wenn ich denn PHP Script aufrufe über denn Webbrowser passiert einfach gar nix eine weiße Seite ohne Error, allerdings wird auch nicht der Worker hinzugefügt.

      Kommentar


      • #4
        hm vielleicht die Arrays aus den Options so füllen:
        PHP-Code:
            CURLOPT_POSTFIELDS => array(
                
        'username' => 'email',
                
        'password' => 'passwort'
            
        )

         
        CURLOPT_POSTFIELDS => array(
        'username' => 'adsfdgfdfg',
         
        'password' => 'password',
         
        'page' => 'account',
         
        'workers' => 'action',
         
        'do' => 'add'

        Relax, you're doing fine.
        RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

        Kommentar


        • #5
          Klappt so auch nicht, ich habe allerdings noch ein Wert gefunden denn ich senden sollte glaube ich "ctoken", allerdings weiß ich nicht wie ich diesen herausfinden soll.

          Kommentar


          • #6
            PHP-Code:
                CURLOPT_POSTFIELDS => array( 
                    
            username => 'adsfdgfdfg'
                    
            password => 'password'
                    
            page => 'account'
                    
            workers => 'action'
                    do => 
            'add' 
                

            Das gibt nen Parse error... ein super Beispiel, wann das Weglassen von Stringbegrenzern von einer Notice zu einem echten Problem auswächst.
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Hallo,

              bzgl. deines Coding-Styles würde ich dir doch das Thema "Lerne Grundlagen"-Thema anraten. (http://www.php.de/php-einsteiger/489...nsammlung.html)

              Wenn du mehr Hilfe möchtest, solltest du uns mehr Informationen geben!
              Ich habe Verstanden das du Versucht im eingeloggten Zustand ein Formular abzusenden. Poste doch mal den HTML-Code des Formulars von "<from *" bis zum "</form>".
              Gruß,
              SebTM

              Kommentar


              • #8
                Komisch, bei mir bleibt aber die Seite weiß kein gar nix. Könnte es an meinem WebSpace Hoster liegen?
                Hier der Code für denn Login:
                PHP-Code:
                <form id="loginForm" class="col-md-4" method="post" action="/index.php?page=login" role="form">

                    <
                input type="hidden" value="" name="ctoken"></input>
                    <
                div class="panel panel-default">
                        <
                div class="panel-heading">
                            <
                h3 class="panel-title">

                                
                Login with existing account

                            
                </h3>
                        </
                div>
                        <
                div class="panel-body">
                            <
                div class="form-group">
                                <
                div class="input-group margin-bottom-sm">
                                    <
                span class="input-group-addon">
                                        <
                class="fa fa-envelope-o fa-fw"></i>
                                    </
                span>
                                    <
                input class="form-control" type="email" required="" autofocus="" name="username" placeholder="E-mail"></input>
                                </
                div>
                                <
                div class="input-group">
                                    <
                span class="input-group-addon">
                                        <
                class="fa fa-key fa-fw"></i>
                                    </
                span>
                                    <
                input class="form-control" type="password" required="" value="" name="password" placeholder="Password"></input>
                                </
                div>
                            </
                div>
                        </
                div>
                        <
                center></center>
                        <
                div class="panel-footer">
                            <
                input class="btn btn-success" type="submit" value="Login"></input>
                            <
                a href="/index.php?page=password">
                                <
                font size="1"></font>
                            </
                a>
                        </
                div>
                    </
                div>

                </
                form
                Hier für denn Worker erstellen (dafür muss man eingeloggt sein.):
                PHP-Code:
                <form class="col-lg-3" role="form" method="POST">

                    <
                input type="hidden" value="account" name="page"></input>
                    <
                input type="hidden" value="workers" name="action"></input>
                    <
                input type="hidden" value="add" name="do"></input>
                    <
                input type="hidden" value="" name="ctoken"></input>
                    <
                div class="panel panel-info">
                        <
                div class="panel-heading">
                            <
                class="fa fa-plus-square-o fa-fw"></i>

                             
                Add New Worker
                                  

                        
                </div>
                        <
                div class="panel-body">
                            <
                div class="form-group">
                                <
                label>

                                    
                Worker Name

                                
                </label>
                                <
                input class="form-control" type="text" required="" maxlength="20" size="10" value="user" name="username"></input>
                            </
                div>
                            <
                div class="form-group">
                                <
                label>

                                    
                Worker Password

                                
                </label>
                                <
                input class="form-control" type="text" required="" maxlength="20" size="10" value="password" name="password"></input>
                            </
                div>
                        </
                div>
                        <
                div class="panel-footer">
                            <
                input class="btn btn-success" type="submit" value="Add New Worker"></input>
                        </
                div>
                    </
                div>

                </
                form
                Und mein jetziger Code:
                PHP-Code:
                <?php  
                  $ch 
                curl_init();
                  
                  
                curl_setopt_array($ch, array(
                    
                CURLOPT_RETURNTRANSFER => 1,
                    
                CURLOPT_URL => 'http://doge.hashfaster.com/index.php?page=login',
                    
                CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
                    
                CURLOPT_POST => 1,
                    
                CURLOPT_FOLLOWLOCATION => 0,
                    
                CURLOPT_COOKIEJAR => 'cookie.txt',
                    
                CURLOPT_POSTFIELDS => array(
                        
                'username' => 'email@email.de',
                        
                'password' => 'passwort'
                    
                )
                   ));
                 
                  
                $content curl_exec($ch);
                  
                 
                //create worker

                    
                curl_setopt_array($ch, array(
                    
                CURLOPT_RETURNTRANSFER => 1,
                    
                CURLOPT_URL => 'http://doge.hashfaster.com/index.php?page=account&action=workers',
                    
                CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
                    
                CURLOPT_POST => 1,
                    
                CURLOPT_FOLLOWLOCATION => 0,
                    
                CURLOPT_COOKIEJAR => 'cookie.txt',
                    
                CURLOPT_POSTFIELDS => array(
                        
                'username' => 'adsfdgfdfg',
                        
                'password' => 'password',
                        
                'page' => 'account',
                        
                'workers' => 'action',
                        
                'do' => 'add'
                    
                )
                   ));
                 
                  
                  
                $content curl_exec($ch);
                 
                  
                curl_close($ch);
                  
                ?>

                Kommentar


                • #9
                  Könnte es an meinem WebSpace Hoster liegen?
                  Könnte.

                  Hast du dein Error-reporting nicht aktiviert? Schreib die beiden Codezeilen aus meiner Signatur direkt nach <?php in deine Datei. Wenn dann etwas kommt wie "undefined function curl...." ist die Erweiterung auf dem Server nicht installiert.
                  Relax, you're doing fine.
                  RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

                  Kommentar


                  • #10
                    Kommt immer noch nix. Aber es ist cURL aktiviert steht auf der Hauptseite.

                    Kommentar


                    • #11
                      Hallo,

                      habe dein Script überarbeitet, vereinfacht sowie Error-Reporting aktiviert. Desweiteren wird dir das Script nun eine Fehlermeldung anzeigen falls cURL nicht installiert oder aktiviert ist.

                      PHP-Code:
                      <?php  

                      // Enable Error-Reporting
                      // @see: http://php-de.github.io/jumpto/leitfaden/
                      error_reporting(-1);
                      ini_set('display_errors'1);

                      // Check if cURL is installed & enabled
                      if (!function_exists('curl_version')) {
                          die(
                      '<b>Error:</b> PHP-cURL is not installed or disabled!<br>');
                      }

                      // Create cURL-Handle
                      $ch curl_init();

                      // Set array with default cURL-Options
                      $defaultOptions = array(
                          
                      CURLOPT_RETURNTRANSFER => true,
                          
                      CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
                          
                      CURLOPT_POST => true,
                          
                      CURLOPT_FOLLOWLOCATION => false,
                          
                      CURLOPT_COOKIEJAR => 'cookie.txt'
                      );

                      // Set array with default Post-Fields
                      $defaultPostFields = array(
                          
                      'username' => '',
                          
                      'password' => ''
                      );

                      // Set data for Login-Request
                      curl_setopt_array(
                          
                      $ch,
                          (
                      $defaultOptions + array(CURLOPT_URL => 'http://doge.hashfaster.com/index.php?page=login'CURLOPT_POSTFIELDS => $defaultPostFields))
                      );

                      // Execute cURL-Request for Login
                      $loginResponse curl_exec($ch);

                      // Check for error
                      if(!$loginResponse) {
                          
                      // Generate Script-Error from cURL-Error
                          
                      trigger_error(curl_error($ch));



                      // Set data for creation of Miner
                      curl_setopt_array(
                          
                      $ch,
                          (
                      $defaultOptions + array(
                                  
                      CURLOPT_URL => 'http://doge.hashfaster.com/index.php?page=account&action=workers',
                                  
                      CURLOPT_POSTFIELDS => ($defaultPostFields + array(
                                          
                      'page' => 'account',
                                          
                      'workers' => 'action',
                                          
                      'do' => 'add',
                                          
                      'ctoken' => ''
                                      
                      )
                                  )
                              )
                          )
                      );

                      // Execute cURL-Request for creation of Miner
                      $minerCreationResponse curl_exec($ch);

                      // Check for error
                      if(!$minerCreationResponse) {
                          
                      // Generate Script-Error from cURL-Error
                          
                      trigger_error(curl_error($ch));


                      // Close cURL-Handle
                      curl_close($ch);
                      Habe leider keinen Account - daher kann ich das nicht testen. Würde mich freuen Feedback von dir zu bekommen ob es geht! Ich geh jetzt nicht weiter im Post auf das Script ein da das Script durchkommentiert ist zur erklärung.
                      Gruß,
                      SebTM

                      Kommentar


                      • #12
                        Debug halt mal $content, wäre schon interessant zu wissen, was der Server antwortet.
                        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                        Kommentar


                        • #13
                          Er gibt mir
                          PHP-Code:
                          bool(falsebool(false
                          zurück mehr macht er nicht.

                          Kommentar


                          • #14
                            Hallo,

                            schau dir mal die Manual zu "curl_exec" an - http://php.net/curl_exec
                            Im Grunde ist es entweder weil irgendwo ein Fehler ist oder weil "CURLOPT_RETURNTRANSFER" gesetzt ist.
                            Gruß,
                            SebTM

                            Kommentar


                            • #15
                              PHP-Code:
                              curl_setopt_array(
                                  
                              $ch,
                                  
                              array_merge(
                                      
                              $defaultOptions,
                                      array(
                                          
                              CURLOPT_URL => 'http://doge.hashfaster.com/index.php?page=account&action=workers',
                                          
                              CURLOPT_POSTFIELDS => array_merge(
                                              
                              $defaultPostFields,
                                              
                              array_merge(
                                                  
                              $defaultPostFields,
                                                  array(
                                                      
                              'page' => 'account',
                                                      
                              'workers' => 'action',
                                                      
                              'do' => 'add',
                                                      
                              'ctoken' => ''
                                                  
                              )
                                              )
                                          )
                                      )
                                  )
                              ); 
                              Sollte das nicht eigentlich so aussehen?

                              PHP-Code:
                              curl_setopt_array(
                                  
                              $ch,
                                  
                              array_merge(
                                      
                              $defaultOptions,
                                      array(
                                          
                              CURLOPT_URL => 'http://doge.hashfaster.com/index.php?page=account&action=workers',
                                          
                              CURLOPT_POSTFIELDS => array_merge(
                                              
                              $defaultPostFields,
                                              array(
                                                  
                              'page' => 'account',
                                                  
                              'workers' => 'action',
                                                  
                              'do' => 'add',
                                                  
                              'ctoken' => ''
                                              
                              )
                                              
                                          )
                                      )
                                  )
                              ); 

                              Kommentar

                              Lädt...
                              X