我想用验证码提交代码后阅读一个外部站点。但是使用(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次,因此验证码是错误的。
有人可以帮我吗?