Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建一个';机器人&x27;在表格中填上几页_Php_.net_Web Services_Bots - Fatal编程技术网

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攻击预防,除了使用一个实际的机器人加载网页之外,你不能做太多