首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webbot自动提交表单通过php cURL

Webbot自动提交表单通过php cURL
EN

Stack Overflow用户
提问于 2013-01-02 01:46:08
回答 1查看 2K关注 0票数 0

我只是试图通过php和cURL自动登录到登录表单

我有:

代码语言:javascript
复制
<?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一样,它没有显示任何错误消息,比如“错误传递”之类的信息。

我觉得$params在这里的设置可能不正确。我一直在不懈地努力让这件事起作用。我现在已经设置了它,其中$params值的设置是:

formnameofinputvalue=valueToInputIntoFormElement&

其中将每个formInputName=formInputValue分开

有人看到我做错什么了吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-02 02:11:35

login.php脚本是否将值提交到另一个URL?检查login.php页面的源,并查看表单是否提交到另一个URL ( form元素中的action=)。如果是这样的话,您将希望使用该URL代替,因为那里是提交值的地方。login.php只是用来收集值的表单。

另一方面,login.php可能提交给自己,在这种情况下,您拥有正确的URL。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14116023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档