DiamondDog: Problem mit curl und Post

Hallo Leute,
ich hab ein kleines Problem mit dem Posten einer Textarea in curl und zwar weiß ich zwar wie man inputfelder Postet, aber leider nicht wie es bei einer Textarea geht.
Dies hier hab ich mit Live HTTP Headers mitschreiben lassen:

-----------------------------9040894219264
Content-Disposition: form-data; name="bla"

ftp://blabla1.rar
ftp://blabla2.rar
-----------------------------9040894219264
Content-Disposition: form-data; name="x"

32
-----------------------------9040894219264
Content-Disposition: form-data; name="y"

10

Hoffe das mir jemand sagen kann, wie ich das ganze mit curl übergeben muss.

Danke schon mal für Helfen.

Mfg Dog

  1. Du willst also einen Request einfach nur weiterleiten?
    Das hab ich auch schon mal gemacht, im Request ist doch kein Unterschied woher das Feld kommt.
    Was genau ist das Problem?

    1. Du willst also einen Request einfach nur weiterleiten?

      Ne weiterleiten nicht selber erzeugen, also ich will selber ftp://links an die Adresse Posten.

      1. Hi!

        Du willst also einen Request einfach nur weiterleiten?
        Ne weiterleiten nicht selber erzeugen, also ich will selber ftp://links an die Adresse Posten.

        Als Text in der Art ftp://host.example.org?
        Dann übermittle diesen Text einfach, worin besteht der Unterschied zu sonstigem Text?

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
        1. Dann übermittle diesen Text einfach, worin besteht der Unterschied zu sonstigem Text?

          Einen login übermittel ich zB. so:
          email=blabla&password=pw

          und bei der Textarea siehts so aus:
          -----------------------------9040894219264
          Content-Disposition: form-data; name="bla"

          ftp://blabla1.rar
          ftp://blabla2.rar

          oder is das das selbe wie?
          bla=ftp://blabla1.rar#ftp://blabla2.rar

          Da wo die # ist weiß ich nciht was als Trenner reinkommen müste....

          1. Hallo DiamondDog,

            Einen login übermittel ich zB. so: email=blabla&password=pw

            das entspricht dem Media-Type application/x-www-form-urlencoded (bzw. application/x-url-encoded, welcher aber nicht gebräuchlich ist). Es handelt sich um den voreingestellten Wert, wenn man einem http://de.selfhtml.org/html/referenz/attribute.htm#form@title=Formular keinen speziellen enctype zuweist.

            und bei der Textarea siehts so aus: …

            Das liegt nicht am Element textarea, das liegt am formularweit festgelegten enctype. Der ist in diesem Fall multipart/form-data.

            oder is das das selbe wie?

            Um genau zu sein, es ist das gleiche. Nur die Formatierung der Daten unterscheidet sich. Beide Varianten lassen sich zum selbem Ergebnis umformen.

            bla=ftp://blabla1.rar#ftp://blabla2.rar

            Es gibt einen interessanten Kommentar zur Funktion curl_setopt(). Probiere es einfach aus!

            Gruß aus Berlin!
            eddi

            1. Es gibt einen interessanten Kommentar zur Funktion curl_setopt(). Probiere es einfach aus!

              Danke der Tip hat geholfen.
              Habs zwar etwas anders umgesetzt aber das klappt perfekt.
              Hab das ganze in eine foreach Schleife geschrieben.

          2. Wie das genau rüber kommt dürfte doch eigentlich egal sein. Ich hab damals in meinem Script die Werte ausgelesen und neu für curl zusammengesetzt. Das hat funktioniert, ohne dass ich mich um die Übertragung kümmern musste. Wenn du die mit $_POST ausliest, nimmt dir das doch schon die ganze Arbeit ab.
            So sah das aus, vielleicht noch ein bisschen hölzern, aber völlig ohne irgendwelche selber gemachten Decodierungen.

            $postvars = "";
            foreach ($_POST as $key => $v)
            {
              $val = $v;
              if (get_magic_quotes_gpc() == 1)
                $val = stripslashes($val);
              if (strlen($postvars) != 0)
                $postvars .= "&";
              $postvars .= $key.'='.urlencode($val);
            }
            und dann noch
            curl_setopt($c, CURLOPT_POST, true);
            curl_setopt($c, CURLOPT_POSTFIELDS, $postvars);