Javascript 将数据发布到返回的内容

Javascript 将数据发布到返回的内容,javascript,php,html,curl,automation,Javascript,Php,Html,Curl,Automation,我正在使用PHP登录到一个网站。我正在尝试自动更改密码 我可以登录到该网站,然后被转发到更改密码页面 当数据以卷曲形式返回时,如何将其发布到“更改密码”页面 这是我用来调用登录页面的 $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_NOBODY, false); curl_setopt($ch, CURLOPT_URL, $url); curl

我正在使用PHP登录到一个网站。我正在尝试自动更改密码

我可以登录到该网站,然后被转发到更改密码页面

当数据以卷曲形式返回时,如何将其发布到“更改密码”页面

这是我用来调用登录页面的

$ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_NOBODY, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);

    //set the cookie the site has for certain features, this is optional
    curl_setopt($ch, CURLOPT_COOKIE, "cookiename=0");
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:44.0) Gecko/20100101 Firefox/44.0");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER, $_SERVER['REQUEST_URI']);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postinfo);
    curl_exec($ch);

    //page with the content I want to grab
    curl_setopt($ch, CURLOPT_URL, "myurl.com");

    //do stuff with the info with DomDocument() etc
    $html = curl_exec($ch);
    echo $html;
    curl_close($ch);
它的HTML返回:

需要注意的是,URL永远不会更改,登录页面只需自行提交URL并用新框刷新即可。


我可以用Javascript来填写表单并在表单位于$html变量中时提交表单吗???

你真的想让Javascript在PHP中以字符串变量执行吗?我想问的是,是否有可能填写返回的表单并提交表单。lol,我像是“WUT?不。不。不。不。不。不。不。不。”总之,不,你不能用卷发。您需要一个模拟浏览器并将执行Javascript的库,以便可以注入Javascript。cURL不会这样做,它只会返回页面内容,因此您正在寻找CasperJS或PhantomJS之类的完全不同的语言。我不能在相同的上下文中发出第二个请求并发布其他数据?每个帖子都需要一个新的cURL请求。确保将cookies与cURL一起使用,然后将cURL逻辑抽象为一个函数,然后使用从正在解析的页面返回的数据进行连续调用。