简体   繁体   中英

Posting a textarea form with cURL

How would I go about posting a textarea form?

<form method="post" action="/user/test/shoutbox/add" id="shoutPost" class="clearit">
<input name="formtoken" type="hidden" value="852f8fde54190fa5f9aa47172d492f829c1b"/>
<input type="hidden" name="backto" value="/user/test/shoutbox" />
<textarea id="shoutmsg" name="message"></textarea>
<input type="submit" name="submit" class="confirmButton" value="Post" id="sbPost"  />

This should work right?

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_POST, 1);
$postfields .= "&message=".$msg;
$postfields .= "&submit=sbPost";
curl_setopt($ch, CURLOPT_POSTFIELDS,$postfields);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
$page = curl_exec($ch);

but it's not posting for some reason...

忘了curl_exec吗?

curl_exec($ch);

Where is $msg coming from? your text area has name="message", try changing $msg to $_POST['message']

    curl_setopt($ch, CURLOPT_REFERER,"URLHERE");
    curl_setopt($ch, CURLOPT_URL,"URLHERE");
    curl_setopt($ch, CURLOPT_POST, 0);
    $page = curl_exec($ch);

    $formtoken = explode('name="formtoken" type="hidden" value="',$page);
    $formtoken = explode('"/> ',$formtoken[1]);
    $formtoken = $formtoken[0];

    $backto = explode('type="hidden" name="backto" value="',$page);
    $backto = explode('" />',$backto[1]);
    $backto = $backto[0];

    curl_setopt($ch, CURLOPT_COOKIEFILE, "/tmp/cookiejar-$randnum");
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_URL,"URLHERE");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_POST, 1);
    $postfields = "formtoken=".$formtoken;
    $postfields .= "&backto=".$backto;
    $postfields .= "&message=".$msg;
    $postfields .= "&submit=Post";
    curl_setopt($ch, CURLOPT_POSTFIELDS,$postfields);
    $page = curl_exec($ch);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM