Ergebnis 1 bis 7 von 7
  1. #1
    W32.Lovgate
    Registriert seit
    05.11.2008
    Beiträge
    367

    Standard PHP cURL Fragen

    Hi Com,

    ich versuch mir gerade ein Script zu basteln welches sich einfach nur bei einemn Social Network anmelden soll, leider hapert es noch und ich weiß nicht genau woran, evtl. könnt ihr mir ja helfen?!

    Ich bin mir auch nicht ganz sicher ob ich die curl_setopt richtig nutze, denn mein CURLOPT_COOKIEJAR legt das Cookie zwar im apache ordner an, aber das aktualisiert sich nicht richtig, soll heissen es wird einmal angelegt und dann kann es nich überschrieben werden, gibt es da auch so verschiedene Modes für die cookies wie z.b. für ...?

    PHP-Code:
    $handle fopen("c:\\verzeichnis\\ressource.txt""r"); 
    Kennt jemand eine gute Deutsche Referenz zu cURL ? (php.net fällt ein wenig mager aus ...)

  2. #2
    Michelangelo Virus
    Registriert seit
    29.06.2008
    Beiträge
    273

    Standard

    kann es daran liegen das "r" für read und nicht für write steht?
    "Word is born
    Fight the war
    fuck the norm!"

    int_main(); @ milw0rm


  3. #3
    Support-Hure Avatar von sn0w
    Registriert seit
    18.09.2007
    Beiträge
    1.919

    Standard

    http://www.php.net/manual/en/curl.examples-basic.php

    Weiß jetzt zwar nicht, was dein Snippet mit cURL zu tun hat aber wenn du mal googlest nach "php curl tutorial" wirst du wohl einiges bekommen.

    MfG

    Boardregeln | SuFu | Blackmarket | PM

    Fragezeichen und Ausrufezeichen sind keine Rudeltiere!


  4. #4
    W32.Lovgate
    Registriert seit
    05.11.2008
    Beiträge
    367

    Standard

    Ich hab mich wohl etwas verwirrend ausgedrückt, sorry dafür! (iss schon so spät und ich kann mich nicht mehr richtig konzentrieren ^^)

    Das fopen() snippet hatte ich nur hier drinnen um einen optischen Zeiger auf den "r" also den "read" Modus zu setzen, bzw. ob es so etwas ähnliches für CURLOPT_COOKIEFILE gibt... .
    Aus irgendeinem Grund wird das cookiefile nicht aktualisiert, aber nur bei dieser einen Seite, hab mir jetzt ein anderes Ziel zum üben ausgesucht, da geht es mit dem cookie aktualisieren!

    Ich werde meine restlichen Fragen die noch offen sind, lieber ausgeschlafen nochmal neu formulieren ...

  5. #5

    Registriert seit
    17.06.2009
    Beiträge
    559

    Standard

    Soweit ich weiß, werden die Cookies immer erst bei einem Aufruf von curl_close aktualisiert.

  6. #6
    Fortgeschrittener
    Registriert seit
    11.12.2011
    Beiträge
    45

    Standard

    Vielleicht hilft das ja
    Code:
    #!/bin/bash
    #Twitter status update bot by http://360percents.com
    #Author: Luka Pusic <pusic93@gmail.com>
    
    #REQUIRED PARAMS
    username="blasmireinen"
    password="blasmireinen"
    tweet="$*" #must be less than 140 chars
    
    #EXTRA OPTIONS
    uagent="Mozilla/5.0" #user agent (fake a browser)
    sleeptime=0 #add pause between requests
    
    if [ $(echo "${tweet}" | wc -c) -gt 140 ]; then
        echo "[FAIL] Tweet must not be longer than 140 chars!" && exit 1
    fi
    
    touch "cookie.txt" #create a temp. cookie file
    
    #INITIAL PAGE
    echo "[+] Fetching twitter.com..." && sleep $sleeptime
    initpage=`curl -s -b "cookie.txt" -c "cookie.txt" -L --sslv3 -A "$uagent" "https://mobile.twitter.com/session/new"`
    token=`echo "$initpage" | grep "authenticity_token" | sed -e 's/.*value="//' | sed -e 's/" \/>.*//'`
    
    #LOGIN
    echo "[+] Submitting the login form..." && sleep $sleeptime
    loginpage=`curl -s -b "cookie.txt" -c "cookie.txt" -L --sslv3 -A "$uagent" -d "authenticity_token=$token&username=$username&password=$password" "https://mobile.twitter.com/session"`
    
    #HOME PAGE
    echo "[+] Getting your twitter home page..." && sleep $sleeptime
    homepage=`curl -s -b "cookie.txt" -c "cookie.txt" -L -A "$uagent" "http://mobile.twitter.com/"`
    
    #TWEET
    echo "[+] Posting a new tweet..." && sleep $sleeptime
    tweettoken=`echo "$homepage" | grep "authenticity_token" | sed -e 's/.*value="//' | sed -e 's/" \/>.*//' | tail -n 1`
    update=`curl -s -b "cookie.txt" -c "cookie.txt" -L -A "$uagent" -d "authenticity_token=$tweettoken&tweet[text]=$tweet&tweet[display_coordinates]=false" "http://mobile.twitter.com/"`
    
    #LOGOUT
    echo "[+] Logging out..."
    logout=`curl -s -b "cookie.txt" -c "cookie.txt" -L -A "$uagent" "http://mobile.twitter.com/session/destroy"`
    
    rm "cookie.txt"
    oder das da
    Code:
    <?php function twitterSetStatus($user,$pwd,$status) {
        if (!function_exists("curl_init")) die("twitterSetStatus needs CURL module, please install CURL on your php.");
        $ch = curl_init();
     
        // -------------------------------------------------------
        // get login form and parse it
        curl_setopt($ch, CURLOPT_URL, "https://mobile.twitter.com/session/new");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);
        curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
        curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3 ");
        $page = curl_exec($ch);
        $page = stristr($page, "<div class='signup-body'>");
        preg_match("/form action=\"(.*?)\"/", $page, $action);
        preg_match("/input name=\"authenticity_token\" type=\"hidden\" value=\"(.*?)\"/", $page, $authenticity_token);
     
        // -------------------------------------------------------
        // make login and get home page
        $strpost = "authenticity_token=".urlencode($authenticity_token[1])."&username=".urlencode($user)."&password=".urlencode($pwd);
        curl_setopt($ch, CURLOPT_URL, $action[1]);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $strpost);
        $page = curl_exec($ch);
        // check if login was ok
        preg_match("/\<div class=\"warning\"\>(.*?)\<\/div\>/", $page, $warning);
        if (isset($warning[1])) return $warning[1];
        $page = stristr($page,"<div class='tweetbox'>");
        preg_match("/form action=\"(.*?)\"/", $page, $action);
        preg_match("/input name=\"authenticity_token\" type=\"hidden\" value=\"(.*?)\"/", $page, $authenticity_token);
     
        // -------------------------------------------------------
        // send status update
        $strpost = "authenticity_token=".urlencode($authenticity_token[1]);
        $tweet['display_coordinates']='';
        $tweet['in_reply_to_status_id']='';
        $tweet['lat']='';
        $tweet['long']='';
        $tweet['place_id']='';
        $tweet['text']=$status;
        $ar = array("authenticity_token" => $authenticity_token[1], "tweet"=>$tweet);
        $data = http_build_query($ar);
        curl_setopt($ch, CURLOPT_URL, $action[1]);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        $page = curl_exec($ch);
     
        return true;
    } 
    
    if ($_POST['tweet'])
    $user = "nutzer";
    $pwd =  "blaaaa";
    $status = $_POST['tweet'];
    twitterSetStatus($user,$pwd,$status);
    ?>
    das 2te ist php. Sind beides sachen die ich im inet klaute
    Die sind beide für twitter, um einen Tweet zu schreiben
    Geändert von doyouhav0th0sourc0? (16.12.2011 um 15:59 Uhr) Grund: Nachtrag

  7. #7
    W32.Lovgate
    Registriert seit
    05.11.2008
    Beiträge
    367

    Standard

    Ja danke für den code, der hat mir tatsächlich geholfen! Jetzt schnall ich erst wie das mit dem parsen läuft ...

    Das mit den cookies klappt jetzt auch, problem war nicht ein (wie von mir angenommen) mysteriöser Modifikator, sondern das es einfach noch nichts in cookie zu schreiben gab.
    CURL hat die zwar angelegt, aber gebraucht (bzw. beschrieben) werden die erst beim nächsten Aufruf der Seite nach dem Parsen.

Ähnliche Themen

  1. CURL-hoster
    Von tobias1111 im Forum Hosting
    Antworten: 5
    Letzter Beitrag: 21.04.2010, 17:40
  2. [S]Free-Webspace mit CURL
    Von hannes im Forum Hosting
    Antworten: 1
    Letzter Beitrag: 17.12.2008, 17:14
  3. How To Bypass Safe Mode In Php 5 With Curl
    Von -=Player=- im Forum PHP
    Antworten: 0
    Letzter Beitrag: 01.11.2008, 19:48
  4. [S] Webhoster mit cURL
    Von CurRy im Forum Hosting
    Antworten: 0
    Letzter Beitrag: 29.10.2008, 00:14
  5. free webspace mit curl extension ???
    Von babyrusher im Forum PHP
    Antworten: 0
    Letzter Beitrag: 17.04.2006, 23:07

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •