POST mit fsockopen via proxy

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

  • POST mit fsockopen via proxy

    hi Leute,

    ich versuche einen POST-Request über fsockopen via proxy abzusetzen, bekomme aber keine Connection. GET ist kein Problem und ohne Proxy POST/GET kein Problem. Vielleicht hat jemand 'ne Idee. Hier der Code:
    PHP-Code:
        $proxy "192.168.x.x";
        
    $port 8080;
        
    $url "http://www.wasweissich.de/...";
        
    $fp fsockopen($proxy$port);
        if (
    $fp) {
            
    $post_var urlencode('name=bla&email=bla@yahoo.com&enquiry=blabla');
            
    $request "POST $url HTTP/1.1\r\n
            Host: 
    $proxy\r\n
            Content-Length: "
    .strlen($post_var)."\r\n
            Content-Type: application/x-www-form-urlencoded\r\n
            Connection: Close\r\n"
    .$post_var."\r\n";
            
    fputs ($fp$request);
            while (!
    feof($fp)) echo fgets ($fp,4000).'<br />';
        } 
    // end if ($fp)
            
    fclose ($fp); 
    hier die Fehlermeldung von Proxy-Server:
    Code:
    HTTP/1.0 [color=red]411 Length Required [/color]
    Server: squid/2.5.STABLE3
    Mime-Version: 1.0
    Date: Tue, 07 Dec 2004 10:26:39 GMT
    Content-Type: text/html
    Content-Length: 951
    Expires: Tue, 07 Dec 2004 10:26:39 GMT
    X-Squid-Error: ERR_INVALID_REQ 0
    X-Cache: MISS from Internet-Proxyserver
    X-Cache-Lookup: NONE from Internet-Proxyserver:8080
    Proxy-Connection: close 
    
    FEHLER
    Der angeforderte URL konnte nicht geholt werden
    Während des Versuches, die Anfrage
    POST /xxxx/search/index.php HTTP/1.1
    zu verarbeiten,
    trat der folgende Fehler auf:
        * Ungültige Anfrage
    Ein Teil der HTTP-Anfrage ist ungültig. Mögliche Gründe:
        * Fehlende oder unbekannte Anfrage-Methode (GET, POST)
        * Fehlender URL
        * Fehlender HTTP Identifier (HTTP/1.0)
        * Anfrage ist zu groß
        * Content-Length fehlt für POST- oder PUT-Anfragen
        * Ungültige Zeichen im Hostnamen - z.B. Unterstriche ('_'),
          Umlaute und Kommata sind nicht erlaubt.
    Generated Tue, 07 Dec 2004 10:26:39 GMT by Internet-Proxyserver (squid/2.5.STABLE3)
    hm ... ich habe aber content-length angegeben

  • #2
    Und Du bist sicher das Du "Host: $proxy" meinst ... ?!
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      wenn ich
      PHP-Code:
      fputs($fp"GET $url HTTP/1.1\r\nHost: $proxy\r\n\r\n"); 
      absetze und es funz, dann gehe ich davon aus, dass mit POST genauso läuft. Andererseits habe ich grad probiert die Ziel-URL bei Host einzusetzen, doch die Fehlermeldung bleibt die gleiche
      Zuletzt geändert von asp2php; 07.12.2004, 11:17.

      Kommentar


      • #4
        was passiert, wenn du das "http://" vor der url weg lässt?
        Kissolino.com

        Kommentar


        • #5
          Original geschrieben von Wurzel
          was passiert, wenn du das "http://" vor der url weg lässt?
          HTTP/1.0 400 Bad Request

          Kommentar


          • #6
            Re: POST mit fsockopen via proxy

            Original geschrieben von asp2php
            hm ... ich habe aber content-length angegeben
            gibt der proxy denn diesen header auch weiter?

            wenn du zugriff auf den zielserver hast, erstelle dir doch dort mal ein kleines script, welches die request header ausgibt, und rufe es mal per POST mit/ohne proxy auf, und vergleiche ...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Re: Re: POST mit fsockopen via proxy

              Original geschrieben von wahsaga
              gibt der proxy denn diesen header auch weiter?

              wenn du zugriff auf den zielserver hast,
              habe ich leider nicht, kann daher nicht prüfen.

              Kommentar


              • #8
                Re: Re: Re: POST mit fsockopen via proxy

                Original geschrieben von asp2php
                habe ich leider nicht, kann daher nicht prüfen.
                dann benutz' halt irgendeinen anderen server, auf den du zugriff hast, um dort ein solches script zu platzieren, und greife auf den einmal mit und einmal ohne proxy zu ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  hehe, leichter gesagt als getan, auf die öffentlichen WebServer darf ich nicht einfach irgendwas ohne Genehmigung machen, obwohl ich Adminrecht besitze, es sei denn ich möchte meine Kündigung provozieren, aber das habe ich definitiv nicht vor

                  Trotzdem, thanks, es ist ohnehin nur aus Neugier, wie sowas gemacht werden kann. Naja, vielleicht werde ich irgendwann testen können, wenn's sich eine Gelegenheit anbietet.

                  Kommentar


                  • #10
                    vielleicht lässt sich solch eine übertragung besser mit curl organisieren?

                    Kommentar


                    • #11
                      Würde dir meinen Server zum testen zur Verfügung stellen...

                      Grund: Bin Jung und will lernen

                      es ist ohnehin nur aus Neugier, wie sowas gemacht werden kann.
                      Dito
                      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                      var_dump(), print_r(), debug_backtrace und echo.
                      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                      Kommentar


                      • #12
                        @asp2php
                        probier mal
                        PHP-Code:
                        $request "POST $url HTTP/1.0\r\n 
                        des weiteren bin ich mir nicht ganz sicher aber da fehlt wohl noch ein
                        Content-Disposition:

                        gruss
                        peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          das mit HTTP/ 1.0 habe ich schon längst probiert, thanks

                          Kommentar


                          • #14
                            Original geschrieben von Shurakai
                            Würde dir meinen Server zum testen zur Verfügung stellen...

                            Grund: Bin Jung und will lernen



                            Dito
                            Auf dein Angebot werde ich zurückkommen, z.Z. keine Zeit (mehr). Danke :-)

                            Kommentar

                            Lädt...
                            X