Http使用curl发布在captcha保护的jsp页面上

时间:2012-07-02 12:15:31

标签: php curl http-post captcha

您好我试图使用curl在jsp页面上发布Http帖子。但它不起作用。 这是我正在尝试的PHP代码。

<?php

if(isset($_POST['submit'])){
$captcha = $_POST['answer'];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://example.com/post_comments.jsp");
curl_setopt($ch, CURLOPT_REFERER, 'http://www.example.com');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 
"post_id=123&body=blabla&title=blabla&name=blablabla8&captcha=$captcha");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result= curl_exec ($ch);
curl_close ($ch);

echo $result;

}else {

?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<img src="http://example.com/captcha.jsp" /> <input name="answer" />
<p><input type="submit" name="submit" value="submit"></p>

</form>

<?php
}

?>

任何人请指导纠正它。 提前谢谢

1 个答案:

答案 0 :(得分:0)

网页是由人类导航的,这就是为什么你可能会错过很多东西......比如cookie或会话数据。您最好的选择是向该页面发出有效请求并复制所有请求。例如,您可以在firefox / firebug或wireshark中执行此操作。

简而言之:您可能缺少Cookie,模仿它们