curl funzt nich wenn ich es in eine function einbaue

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

  • curl funzt nich wenn ich es in eine function einbaue

    da die yahoo answers api zurzeit nicht geht hab ich gedacht ich mache mal eine suche mit curl dann wollt ich dass ganze in eine funktion zur wiederverwendung packen und dann kommt nix mehr.


    PHP-Code:
    // auskommentiert funzt es
    //function getHtml(){
    $search="foo";
    $target_absolute "http://answers.yahoo.com";
    $target_url "http://answers.yahoo.com/search/search_result?p=".$search."&ps=1&tab=1&st=1&page=1";
    $userAgent 'Firefox (WindowsXP) – Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6';

    // make the cURL request to $target_url
    $ch curl_init();
    curl_setopt($chCURLOPT_USERAGENT$userAgent);
    curl_setopt($chCURLOPT_URL,$target_url);
    curl_setopt($chCURLOPT_FAILONERRORtrue);
    curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
    curl_setopt($chCURLOPT_AUTOREFERERtrue);
    curl_setopt($chCURLOPT_RETURNTRANSFER,true);
    curl_setopt($chCURLOPT_TIMEOUT100);
    $htmlcurl_exec($ch);
    if (!
    $html) {
        echo 
    "<br />cURL error number:" .curl_errno($ch);
        echo 
    "<br />cURL error:" curl_error($ch);
        
    //return;
    }
    curl_close($ch);
    //return html;
    //}
    //$html=getHtml();
    // parse the html into a DOMDocument
    $dom = new DOMDocument();
    @
    $dom->loadHTML($html);

    // grab all the on the page
    $xpath = new DOMXPath($dom);
    $hrefs $xpath->evaluate("/html/body//ul//h3//a");
    $titles $xpath->evaluate("/html/body//ul//h3//*[@class='highlight']");

    $url "";
    $title ="";
    for (
    $i 0$i $hrefs->length$i++) {
        
    $href $hrefs->item($i);
        
    $url $href->getAttribute('href');
        
    //$title = $titles->item($i)->nodeValue;
        
    $title $hrefs->item($i)->nodeValue;
        echo 
    $title."foo <br>";



  • #2
    Hallo,

    was heißt „dann kommt nix mehr“? Etwas genauere Infos solltest du schon liefern. Hast du den Rückgabewert mal pur geprüft – ohne DOM? Ich tippe mal auf „undefined constant html“. Der @-Operator gefällt mir auch nicht. Gerade wenn etwas nicht so funktioniert wie es soll, hat der dort nichts verloren.

    Gruß,

    Amica
    Zuletzt geändert von AmicaNoctis; 10.06.2010, 21:43.
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Hallo meskalin,
      • du versucht html anstatt $html zurück zu geben
      • du prüfst den rückgabewert deiner FUnktion garnicht (du kannst ja auch NULL zurück bekommen)
      • du könntest dir noch im falle eins curl fehlers mit curl_getinfo() zusätzilche informationen ausgeben (HTTP_CODE).
      • kann ich mich AmicaNoctis nur anschließen (- :

      Kommentar

      Lädt...
      X