使用Captcha在PHP中使用file_get_contents进行POST

时间:2019-01-31 13:39:21

标签: php file-get-contents captcha

我想用验证码提交代码后阅读一个外部站点。但是使用(PHP)file_get_contents验证码已加载2次,所以它是错误的。

Form加载图像以解决验证码,并通过POST发送到显示结果的原始站点。通常,我会解决验证码,然后在新站点中(用眼睛)阅读内容。

现在,我想让PHP读取内容。我总是先解决验证码(在我的页面中),然后再将其发送到另一个站点,然后让(php)“ file_get_contents”读取内容。

这里有我的代码。

<?php
    $captcha = $_POST["captcha"];
?>
<html>

<form method="post" action="(this page)">
<img src="remote-captcha"><input type="text" name="captcha">
<submit>

<?php
    $postdata = http_build_query(
        array(
        'captcha' => $captcha
        )
    );

    $opts = array('http' =>
        array(
            'method'  => 'POST',
            'header'  => 'Content-type: application/x-www-form-urlencoded',
            'content' => $postdata
        )
    );

    $context  = stream_context_create($opts);
    $result = file_get_contents('https://www.form-page', false, $context);
    $search = '/<div class="myclass">(.*)<\/div>/';
    preg_match($search, $result, $show);

echo $show[0];
?>

此时,表单已加载2次,因此验证码是错误的。

有人可以帮我吗?

0 个答案:

没有答案