创建一个"机器人"来填充带有一些页面的表单

Dim*_*ima 8 .net php web-services bots

我想实现一个可以自动填充表格的"机器人".有没有一个解决方案,你可以填写页面上的数据,例如,form1.html提交它,等到下一页并提交数据form2.html,等等...最后它还应该"点击"按钮来获取文件表单创建.

我希望这个'机器人'会使用一些机密信息,因此无法使用client side技术.

我正在考虑PHP- 将其构建为网站Web服务,这样您就可以将数据传输到Web地址或Web服务中.Net.

如果它很重要,我想自动填充的网站运行ASP.NET.

我在这里有点新意见......任何人都可以提供一些示例或教程来做这件事.如果存在一些我在这里没有提到的技术来实现它,我也很乐意尝试它们.

Ada*_*dam 9

表单通过发布数据来工作,因此您可以只POST将数据发送到服务器,而不是使机器人在每个字段中键入内容并单击"提交".

首先获取表单字段名称和表单的名称action.

那么CURL:

//set POST variables
$url = 'http://domain.com/get-post.php';
$fields = array(
                        'lname' => urlencode($last_name),
                        'fname' => urlencode($first_name),
                        'title' => urlencode($title),
                        'company' => urlencode($institution),
                        'age' => urlencode($age),
                        'email' => urlencode($email),
                        'phone' => urlencode($phone)
                );

//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

//open connection
$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

来自这个网站的片段.


小智 9

使用Selenium.

"Selenium使浏览器自动化.就是这样.你用这种能力做什么完全取决于你.主要是为了测试目的而自动化Web应用程序,但当然不仅限于此.无聊的基于Web的管理任务可以(并且应该!)也是自动化的."

这里的例子.

在此输入图像描述