使用php填写和提交html表单,无需用户输入
我在一个名为“foobar.html”的文件中有以下表单:使用php填写和提交html表单,无需用户输入,php,forms,input,submit,Php,Forms,Input,Submit,我在一个名为“foobar.html”的文件中有以下表单: 我用fopen在php脚本中打开这个文件,如何在没有用户输入的情况下填写并提交这个表单?谢谢使用HTML解析器解析出action属性,并使用curl将其转换为相应的目标URL。将整个fire读入一个变量。与其使用FPEN,不如考虑一下,它有点干净。 然后,您将希望将该字符串解析为HTML。您可以使用PHP来实现这一点。通过遍历DOM树到表单标记并读取这些属性,获取表单的操作和方法。接下来,获取表单标记中任何输入的名称。使用这些名称生
我用fopen在php脚本中打开这个文件,如何在没有用户输入的情况下填写并提交这个表单?谢谢使用HTML解析器解析出
action
属性,并使用curl将其转换为相应的目标URL。将整个fire读入一个变量。与其使用FPEN,不如考虑一下,它有点干净。
然后,您将希望将该字符串解析为HTML。您可以使用PHP来实现这一点。通过遍历DOM树到表单标记并读取这些属性,获取表单的操作和方法。接下来,获取表单标记中任何输入的名称。使用这些名称生成带有key=value对的查询字符串。如果表单的方法是GET,则将该查询字符串附加到表单操作,否则将其保存在另一个变量中
最后,使用“提交”表单。也就是说,使用表单操作作为CURL请求的URL。如果form方法是GET,那么您应该已经将数据附加到URL,如果该方法是POST,那么您将希望将CURL请求的数据设置为从表单名称生成的数据查询字符串
如果您的问题扩展到如何知道将哪些数据填充到哪些表单字段中,那么这几乎是不可能解决的。当然,您可以查找和猜测某些输入名称所需的数据,但通用解决方案是一个不可能解决的问题。您是否试图让用户在浏览器上提交表单,而无需用户交互?如果是这种情况,您需要求助于javascript,比如:
<body onLoad="document.getElementById('autoSubmit').submit();">
<form id="autoSubmit">
(insert form here)
</form>
</body>
(在此插入表格)
这将自动提交表单。一些注意事项:并非每个人都启用了JavaScript,因此您可能希望将输入更改为type=“hidden”
,并添加一个漂亮的大提交按钮,上面写着单击此处
<body onLoad="document.getElementById('autoSubmit').submit();">
<form id="autoSubmit">
(insert form here)
</form>
</body>