randomsymbols / fsubmit
使用PHP提交HTML表单
2.9.1
2022-03-28 14:43 UTC
Requires
- ext-curl: *
- ext-openssl: *
- voku/simple_html_dom: ^4.7
Requires (Dev)
- overtrue/phplint: ^2.1
- phpstan/phpstan: ^0.12.49
- phpstan/phpstan-phpunit: ^0.12.16
- phpunit/phpunit: ^9.5@dev
- slevomat/coding-standard: ~6.0
- squizlabs/php_codesniffer: ^3.5
- vimeo/psalm: ^3.17
README
您是否曾尝试使用cUrl提交HTML表单?您必须明确指出所有提交的字段及其值。
在现实生活中,我们通常只想填写一个或两个字段,甚至都不考虑其他字段。
如果您将其他字段的值硬编码到cUrl请求中,如果表单随时间变化,您的代码会出错。
为了使您的代码能够适应表单的变化,您必须首先下载表单,解析其字段和值,更改/添加正确的字段值,然后使用cUrl提交。
如果您不了解HTML表单的工作原理,这将引发许多问题。例如,如果有多个选项的选择标签,如果没有选中任何选项,哪个选项将被提交为字段的值?如果选项标签没有值属性呢?
在提交表单时,网络浏览器会为我们完成这项工作。我们不必担心隐藏字段或其他任何字段。该库为PHP提供了相同的功能。
要求
PHP 7.4 及更高版本。
Composer
您可以通过 Composer 安装此库。运行以下命令
composer require randomsymbols/fsubmit
要使用此库,请使用Composer的 自动加载
require_once('vendor/autoload.php');
依赖项
为了正常运行,该库需要以下扩展
如果您使用Composer,这些依赖项应自动处理。如果您手动安装,请确保这些扩展可用。
入门
use Fsubmit\Form; $form = Form::fromUrl('https://www.google.com'); $form->setParams(['q' => 'John 3:16']); $answer = $form->submit(); echo $answer['content'];