Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New to the CF scene
    Join Date
    Oct 2012
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Question CURL POSTING multipart/form-data problem

    Hello ,

    First happy to join here its my first time

    iam using curl to post data type of it

    Content-Type: multipart/form-data; boundary=---------------------------25550903729072

    -----------------------------25550903729072
    Content-Disposition: form-data; name="textarea_21234"

    "firstdata" <iamherehihowru>"
    -----------------------------25550903729072
    Content-Disposition: form-data; name="name"

    samy

    -----------------------------------------------

    i can post without any issues just the problem that there is missing special characters <> also

    i can encode the data before posting it - but the problem that it will be shown as encoded - and i cant decode it because i dont own the other side - its posting to other place

    Here is code :
    $link = "www.site.com"

    $datatopost = array (

    'textarea_21234' => "firstdata" <iamherehihowru>",
    'name' => "samy",

    );
    $c=curl_init();
    curl_setopt($c, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201");
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($c, CURLOPT_TIMEOUT,15);
    curl_setopt ($c, CURLOPT_POST, true);
    curl_setopt($c, CURLOPT_POSTFIELDS, $datatopost);
    curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($c, CURLOPT_CONNECTTIMEOUT ,60);
    curl_setopt($c, CURLOPT_TIMEOUT, 60);
    curl_setopt($c, CURLOPT_HEADER, 0);
    $crdata=curl_exec($c);
    curl_close($c);



    everything is good and able to post but when i check the textarea which my data should go to it i see it show this only

    "firstdata"

    and <iamherehihowru> total disapeared due to <> - problem that if i used urlencode as example it will be like this %3Ciamherehihowru%3E and this i dont want - i want it be shown as <> in the other side inside Textarea


    Here also Request Header


    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: en-us,en;q=0.5
    Accept-Encoding: gzip, deflate
    Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
    Connection: keep-alive
    Content-Type: multipart/form-data; boundary=---------------------------3303192328350
    Content-Length: 2836


    --------------------

    Response Header

    HTTP/1.1 200 OK
    Date: Tue, 16 Oct 2012 20:07:05 GMT
    Vary: Accept-Encoding
    Content-Type: text/html; charset=utf-8
    Content-Encoding: gzip
    Cache-Control: private
    Age: 0
    Transfer-Encoding: chunked
    Connection: keep-alive




    hope there is any solution

  • #2
    Senior Coder
    Join Date
    Feb 2011
    Location
    Your Monitor
    Posts
    4,281
    Thanks
    57
    Thanked 523 Times in 510 Posts
    Blog Entries
    5
    You might want to urlencode the < and > characters and see if that works.

    As for your boundary, I thought that was used for email not http / forms?
    See my new CodingForums Blog: http://www.codingforums.com/blogs/tangoforce/

    Many useful explanations and tips including: Cannot modify headers - already sent, The IE if (isset($_POST['submit'])) bug explained, unexpected T_CONSTANT_ENCAPSED_STRING, debugging tips and much more!

  • #3
    God Emperor Fou-Lu's Avatar
    Join Date
    Sep 2002
    Location
    Saskatoon, Saskatchewan
    Posts
    16,987
    Thanks
    4
    Thanked 2,660 Times in 2,629 Posts
    Nope, boundaries can be viewed in any multipart message, so the form would be the same. Typically we don't need to worry about them from our level though as we receive the data parsed by the server who takes care of the messages for us (and other technologies like curl).
    < and > are probably fine in the string itself; problem is they are not in the string. The only reason this doesn't throw a parser error is that it would see those as < and > comparisons to a constant. So you need to escape that " in the string: 'textarea_21234' => "firstdata\" <iamherehihowru>",, and then the < and > would be determined by the receiver (I'd expect they'd be fine).

  • Users who have thanked Fou-Lu for this post:

    tangoforce (10-17-2012)


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •