Ankündigung

Einklappen
Keine Ankündigung bisher.

Aufrufe von externer Script mittels FSOCKOPEN

Einklappen

Neue Werbung 2019

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

  • Aufrufe von externer Script mittels FSOCKOPEN

    Moin Moin und Hallo!

    Ich habe mal wieder einen Effekt den ich mir absolut nicht erklären kann:

    Wenn ich ich die URL meines Scriptes manuell im Browser aufrufe erhalte ich einen String komplett zurückgegeben.

    Rufe ich diese Seite jetzt von extern mit einem (funktionierenden) Script via fsockopen auf, so wird der String ziemlich am Anfang abgeschnitten und nicht komplett von meinem Script ausgegeben.

    Gebe ich vor dem auszugebenden String allerdings mittels der Print Methode irgendeinzeichen, also Beispielsweise ein "a" aus, dann wird der gesamte String danach ausgegeben.

    Hat jemand von euch zufällig eine Idee, woran dieser Effekt liegen könnte?
    Vielen Dank im Voraus!

    Es geht bei dem gesamten Script um eine XML-Soap Server und den dazugehörigen Client.

  • #2
    Vllt. gibts unerlaubt Sonderzeichen?

    Ich hatte früher mal das Problem, das dank unterschiedlichen encoding ein String aus einer Datenbank nach einem Sonderzeichen abgebrochen ist.

    Also vllt. mit iconv() irgendetwas machen

    Kommentar


    • #3
      Hmm naja, kann mir persönlich nicht vorstellen, dass es an Sonderzeichen liegt, weil ich ja die kompletten Rückgaben bekomme, wenn ich im ursprünglichen Script vorher ein anderes Zeichen ausgebe...
      Oder liegts vllt. an der Abholfunktion? (Die is nicht von mir, aber hat bisher wunderbar und einwandfrei funktioniert)


      PHP-Code:
                $count 65535;
                while (
      $str fgets($sd1024)){
                  
      $result .= $str;
                  
      $count $count strlen($str);
                  if (
      $nl == 1) {
                    
      //set count to actual body length
                    
      $count hexdec($str);
                    
      $nl 0;
                  }
                  
      //remove CR/LF
                  
      $str preg_replace('/\015\012/''',$str);
                  if (
      $str == '') {
                    
      $nl 1;
                  }
                  if (
      $count <= 0) {
                    break;
                  }
                } 

      Kommentar


      • #4
        Du willst einfach nur den Inhalt der Seite haben?

        Versuch mal
        <?php
        $string = file_get_contents("http://www.blub.bla/bla.txt");
        ?>

        Kommentar


        • #5
          Naja, ganz so einfach ist das ganze ja nun nicht.

          Da es tlw. um Soap Statements geht werden die auch per GET, POST, PUT oder DELETE Befehl hingesendet insofern reicht mir diese GET Contents funktion nicht aus, um die Inhalte zu erhalten. Wie gesagt das Problem liegt auch glaube ich nciht, auf Seite des Clients sondern eher auf Seite des Servers.

          Kommentar


          • #6
            Dann mach mal fgets($sd, 4096)

            Kommentar


            • #7
              Nimm das:
              PHP: cURL, Client URL Bibliothek-Funktionen - Manual

              Kommentar

              Lädt...
              X