当前位置: 首页 > 面试题库 >

自动填写并在外部网站上提交表格

桑璞
2023-03-14
问题内容

我想知道一种如何bot/local server使用ajax或curl在外部站点(PHP)的多个页面上自动填充多个表单(使用)。

例如,一个站点www.abc.com/index.php有一个表单<form> <input name='text'></form>,可将您带到www.abc.com/fst.php提交表单的时间www.abc.com/fst.php,而还有另一种表单也需要填写和提交。我想从我的本地服务器自动填写两个表格。我该如何做到?


问题答案:

最简单的方法是使用油脂类(https://addons.mozilla.org/en-
US/firefox/addon/greasemonkey/
)之类的方法,但是更好的解决方案是使用firebug的“
net”选项卡捕获发送的帖子当您填写表格并使用CURL(http://php.net/manual/en/book.curl.php)重复该帖子时

function post($url,$data) { 
    $process = curl_init($url); 
    curl_setopt($process, CURLOPT_HTTPHEADER, $this->headers); 
    curl_setopt($process, CURLOPT_HEADER, 1); 
    curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent); 
    if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file); 
    if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file); 
    curl_setopt($process, CURLOPT_ENCODING , $this->compression); 
    curl_setopt($process, CURLOPT_TIMEOUT, 30); 
    if ($this->proxy) curl_setopt($process, CURLOPT_PROXY, $this->proxy); 
    curl_setopt($process, CURLOPT_POSTFIELDS, $data); 
    curl_setopt($process, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($process, CURLOPT_POST, 1); 
    $return = curl_exec($process); 
    curl_close($process); 
    return $return; 
}


 类似资料:
  • 我有一个问题,当我完成表单上的一个字段并使用Tab键或鼠标移动到另一个字段时,表单会自动提交并转到actionCreate或actionEdit(视情况而定)中指定的页面。如果我重新打开表单,则该单个数据元素已保存,并且我可以再输入一个数据元素,但只要移动到另一个字段,表单就会自动重新提交。 一些背景资料: 这种行为发生在Google Chrome v.56上。x和Firefox v.52。x、

  • 我已经使用create react app构建了一个静态react网站,并使用git和github在netlify中部署了它。事实证明,我现在必须在我的网站上做一个小小的改变。我应该怎么做才能使更改反映在已部署的站点上。我在github中提交了更改,但更改没有显示在实时部署的url中。

  • 问题内容: 因此,我对于Gen中的jQuery和Javascript还是很陌生。我喜欢JQuery使用的简单load()功能。我的问题:是否可以使用load()函数从外部网站加载内容? 试图同步要加载到#placeholder div中的特定Facebook页面上的内容。 问题答案: 通常,出于安全原因,不能,您不能。 有两种选择: 使用JSONP-这需要服务器支持以该格式返回数据。 使用模拟您想

  • 我正在构建一个移动Web应用程序,它从我构建的Symfony2应用程序中获取信息。用户必须提交一个表单才能查看信息,但是当我通过AJAX提交表单时,处理它的控制器看不到正在提交的表单。 移动应用程序是用Cordova构建的,因此表单来源于静态HTML表单。一旦通过AJAX提交,AJAX将返回所需的数据。然而,表单提交很好,这让AJAX发挥了神奇的作用,但是Symfony2没有看到表单被提交。我对

  • 我看过这个话题,但最受欢迎的答案只是一些代码,它并没有引用问题中贴出的HTML,也没有什么HTML,所以很难理解 我用过雷佩蒂的回答。这里得到异常序列不包含指定的元素()。 使用系统;使用System.Collections.Generic;使用System.ComponentModel;使用System.Data;使用System.Drawing;使用System.LINQ;使用System.T

  • 考虑到字段名称结构可能发生了变化,我尝试像第一次那样阅读format/fields。(代码如下)。但是,现在它告诉我没有要读取的字段()。 所以,我开始做一些搜索,并找到了参考另一种类型的PDF结构,他们可以切换到;XFA.老实说,我还没有找到任何令人满意的文档/示例,但我确实找到了一些代码,看起来应该可以在XFA PDF的结构中阅读。(代码如下)。我尝试了两种不同的方法。第一个基本说明XfaFi