我担心这是一个模糊的问题,可能会被低估,但我仍然会问。我想要实现的是使用PHP填写某些网站(没有API)的文本字段。例如(不是我想做的)填写facebook状态栏中的文本或填写网站的用户名密码字段。这可以实现吗?
任何帮助将不胜感激
答案 0 :(得分:1)
如果我正确地理解你,不,这通常是不可能的。 PHP通常用于服务器端。您所指的是(即:修改网站上的控件)发生在客户端,因此您可能会使用JavaScript等语言。但是,能够在不属于您的网页上使用JavaScript存在限制。出于您的目的,您可能需要创建一个完整的浏览器扩展......这是一个完全不同的动物。
答案 1 :(得分:1)
这可以通过curl POST
完成示例:强>
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/path/to/form");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
$data = array(
'username' => 'joe',
'password' => 'blogsy'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
curl_close($ch);
?>
<强> CURLOPT_RETURNTRANSFER 强>
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
行实际上并不是必需的,但这意味着返回的网页中的HTML会进入$output
变量而不是回显到标准输出。
<强> CURLOPT_POST 强>
curl_setopt($ch, CURLOPT_POST, true);
行告诉CURL这是POST而不是默认的GET。
<强> CURLOPT_POSTFIELDS 强>
$ data数组包含POST字段值,等效的HTML表单值可能类似于:
<input type='text' name='username' value='joe' />
<input type='password' name='password' value='blogsy' />
答案 2 :(得分:0)
如果你可以注入一个java脚本代码,那么你可以。或者只是从您想要的网站获取HTML代码,只需为所需字段添加值标记。