Ankündigung

Einklappen
Keine Ankündigung bisher.

Auf Webseite zugreifen und Rückgabewert speichern

Einklappen

Neue Werbung 2019

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

  • Auf Webseite zugreifen und Rückgabewert speichern

    Hallo,

    ich würde gerne auf eine webseite zugreifen, die mir entweder text oder
    xml zurückliefert.
    da es sich bei dem rückgabewert nicht um eine datei handelt, kann ich,
    glaube ich nicht fsocketopen() benutzen.

    Wie kann ich das sonst hinbekommen?

    Gruß

  • #2
    glaubst du nur?
    oder hast du das schon probiert?

    wenn nicht -> machen.

    wobei ich dir allgemein [MAN]curl[/MAN] oder evtl noch [MAN]file_get_contents[/MAN] raten würde, wenn du nur den Inhalt der Webseite auslesen willst.

    Kommentar


    • #3
      hallo,

      ich bekomme lediglich einen string zurück! keine webseite oder datei etc.
      habe schon folgendes ausprobiert:
      Code:
      $host = "server/bla/auth?user=user&password=123";
      
              $fp = fsockopen($host, 8080, $errno, $errstr, 1);
      
              if (!$fp) {
                  echo "$errstr ($errno)<br />\n";
      
                      throw new Exception("Connection failed.\n");
      
              } else {
                   while (!feof($fp)) {
                       //echo fread($fp, 10025);
                      echo fgets($fp, 128);
              }
              fclose($fp);
      und

      Code:
      $handle = fopen($url, 'r');
      if($handle){
           while(!feof($handle)){
              $sData .= fread($handle, 1024);
           }
      
      }
      else{
          echo "false";
      }
      und

      Code:
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_FAILONERROR, true);
      curl_setopt($ch, CURLOPT_URL,  "meine url");
      $res1 = curl_exec($ch);
      echo $res1;
      und

      Code:
      try{
         $r = new HttpRequest('meine url', HttpRequest::METH_GET);
         $result = $r->send();
         echo "<pre>"; print_r($result); echo "</pre>";
      }catch(Exception $error){
           echo "Fehler: ";
      }
      hat leider alles nicht funktioniert!

      Gruß

      Kommentar


      • #4
        Was erwartest du denn?

        Eine Datei heisst nur so, weil sie auf einem Datenträger gespeichert ist. Liest man sie in den Speicher, ist es ein String. Eine Webseite auf dem Server ist auch nur eine Datei (plus Verlinkungen auf weitere Dateien).
        Der Webserver liefert aber keine Dateien aus, sondern Datenströme. Ob die aus einer Datei, einer Datenbank oder dem RAM des Servers stammen, macht dabei für den Empfänger keinen Unterschied.
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          PHP-Code:
          $host "server/bla/auth?user=user&password=123";

                  
          $fp fsockopen($host8080$errno$errstr1); 
          Das ist schon mal kompletter Unfug.

          Du solltest dich wenigstens informieren, welche Bedeutung die Parameter haben, bevor du nach Gutdünken einfach mal irgendwas einsetzt.
          [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

          Kommentar


          • #6
            $host = "http://host/bla/auth?user=user&password=123";

            normalerweise kommen da keine parameter hin
            sondern $host = "www.irgendwas.de".....

            ich muss leider den wert (text) der mir diese url (mit parametern) liefert speichern.

            wenn ich die url aufrufe und die seite die zurückkommt ->
            quelltext anzeigen, steht da lediglich "128x160" sonst nichts.

            und wie gesagt hat es mit all den dingen die ich ausprobiert habe nicht
            funktioniert.

            kann mir denn keiner einen lösungsvorschlag nennen?

            Gruß

            Kommentar


            • #7
              Was du dabei falsch machst, bzw. wie sich die Seite ggf. gegen automatisierte Requests zu „wehren“ versucht, können wir dir nicht sagen, wenn du uns die Adresse nicht nennst.
              [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

              Kommentar


              • #8
                es ist eine interne netzwerkadresse

                Kommentar


                • #9
                  Zitat von alexPHP Beitrag anzeigen
                  und wie gesagt hat es mit all den dingen die ich ausprobiert habe nicht
                  funktioniert.

                  kann mir denn keiner einen lösungsvorschlag nennen?
                  Da frage ich nochmal: Was genau erwartest du denn zurück?

                  In deinem Kontext ist jede Rückgabe (Antwort des Servers) zunächst mal ein String - ob das beim Client als "Seite" angezeigt wird, oder ob der Client die Daten "als Datei" speichern möchte, hängt im wesentlichen von Headern ab die der Server sendet. Da du ja bereits einen String bekommst, sieht das für mich erstmal völlig in Ordnung aus.
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    Dann zeig uns wenigstens, wie genau du diese angegeben hast. Und beschreibe, wie die überhaupt im Netzwerk (was vieles bedeuten kann) angesprochen werden kann.
                    [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                    Kommentar


                    • #11
                      Guck mal, ob in der php.ini allow_url_fopen aktiviert ist, wenn dies aktiviert ist kannst du das einfach mit
                      PHP-Code:
                      $content file_get_contents($url); 
                      auslesen.

                      Kommentar


                      • #12
                        Code:
                         $url = "http://192.168.1.22:8080/web-service/txt/holeWert-[kategory.eigenschaft]-val?user=user&password=
                        $ch = curl_init();
                        curl_setopt ($ch, CURLOPT_URL, $url);
                        curl_setopt ($ch, CURLOPT_HEADER, 0);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
                        
                        curl_exec ($ch);
                        var_dump($ch);
                        curl_close ($ch);
                        ergebnis var_dump():
                        resource(2) of type (curl)

                        Kommentar


                        • #13
                          phpinfo() sagt mir, dass allow_url_fopen auf on steht
                          Code:
                          $content = file_get_contents($url);
                          var_dump($content);
                          Ergebnis:
                          string(0) ""

                          Kommentar


                          • #14
                            Zitat von alexPHP Beitrag anzeigen
                            Code:
                             $url = "http://192.168.1.22:8080/web-service/txt/holeWert-[kategory.eigenschaft]-val?user=user&password=
                            $ch = curl_init();
                            curl_setopt ($ch, CURLOPT_URL, $url);
                            curl_setopt ($ch, CURLOPT_HEADER, 0);
                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
                            
                            curl_exec ($ch);
                            var_dump($ch);
                            curl_close ($ch);
                            ergebnis var_dump():
                            resource(2) of type (curl)
                            Wie wärs wnen du die Rückageb von curl_exec dumpst und nicht von curl_init?

                            Btw. kennst du curl_error()?
                            "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

                            Kommentar


                            • #15
                              var_dump(curl_exec ($ch));
                              Ergebnis:
                              string(0) ""

                              Kommentar

                              Lädt...
                              X