Php 创建一个';机器人&x27;在表格中填上几页
我想实现一个可以自动填写表格的“机器人”。 当您可以在页面上填写数据(例如,Php 创建一个';机器人&x27;在表格中填上几页,php,.net,web-services,bots,Php,.net,Web Services,Bots,我想实现一个可以自动填写表格的“机器人”。 当您可以在页面上填写数据(例如,form1.html并提交数据,等待下一页并在form2.html上提交数据)时,是否有解决方案。。。 最后,它还应该“单击”按钮以获取表单创建的文件 我希望这个“机器人”会使用一些机密信息,所以它不能使用客户端技术 我在考虑PHP——将其构建为一个web站点web服务,这样您就可以将数据传输到.Net中的web地址或web服务 如果这很重要,我想自动填充的站点是使用ASP.NET运行的 我这里有点新…谁能给我一些例子或
form1.html
并提交数据,等待下一页并在form2.html
上提交数据)时,是否有解决方案。。。
最后,它还应该“单击”按钮以获取表单创建的文件
我希望这个“机器人”会使用一些机密信息,所以它不能使用客户端技术
我在考虑PHP
——将其构建为一个web站点web服务,这样您就可以将数据传输到.Net
中的web地址或web服务
如果这很重要,我想自动填充的站点是使用ASP.NET
运行的
我这里有点新…谁能给我一些例子或教程做这件事。如果存在一些我在这里没有提到的技术来实现它,我也很乐意尝试它们。表单通过发布数据来工作,因此,您可以将数据发布到服务器,而不是制作一个机器人,在每个字段中键入内容并单击提交
首先获取表单字段名称和表单的操作
然后卷曲:
//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);
来自的代码片段。请使用
“Selenium使浏览器自动化。就是这样。如何使用这种功能完全取决于您自己。它主要用于自动化web应用程序以进行测试,但肯定不仅仅限于此。枯燥的基于web的管理任务也可以(而且应该!)自动化。”
参见示例
您可以自己构建HTTP请求。请求页面,对其进行解析,并发送带有表单数据的应答请求。至少你的浏览器是这样做的。我注意到输入被解码,然后发送到服务器,所以我不能从一开始就发布,我需要检查表单他们可能正在使用CSRF攻击预防,除了使用一个实际的机器人加载网页之外,你不能做太多