我想使用email-checker进行电子邮件验证。我想发布email
和id
,我想将其从发布的页面中撤回,无论哪个答案是BAD或SUCCESS。发布的页面是https://email-checker.net/check
。
这是我的代码:
$curl_connection = curl_init();
curl_setopt($curl_connection, CURLOPT_URL, 'https://www.bulkemailchecker.com/free-email-checker/');
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_FRESH_CONNECT,true);
curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_HEADER, false);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl_connection, CURLOPT_POST, true);
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
$data=curl_exec($curl_connection);
任何人都可以帮助我吗?
答案 0 :(得分:0)
首先向网址发出GET请求,在标题中您将收到一个Cookie会话ID,在html中,您将收到一个名为_csrf
的{{3}},同时保存两者,并创建一个新的使用带有https://email-checker.net/check
编码的HTTP POST请求,在email
中使用cookie会话(恰当地)命名为application/x-www-urlencoded
,同时使用cookie会话和csrf令牌以及电子邮件。现在,您的答案将出现在您收到的带有results-wrapper
的html元素的文字内容中。
使用CSRF token的示例实现:
<?php
declare(strict_types = 1);
const EMAIL = 'webmaster@hotmail.com';
require_once ('hhb_.inc.php');
$hc = new hhb_curl ( '', true );
$html = $hc->exec ( 'https://email-checker.net' )->getStdOut ();
$domd = @DOMDocument::loadHTML ( $html );
$xp = new DOMXPath ( $domd );
$csrf_token = $xp->query ( '//input[@name="_csrf"]' )->item ( 0 )->getAttribute ( "value" );
$html = $hc->setopt_array ( array (
CURLOPT_URL => 'https://email-checker.net/check',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => http_build_query ( array (
'_csrf' => $csrf_token,
'email' => EMAIL
) )
) )->exec ()->getStdOut ();
$domd = @DOMDocument::loadHTML ( $html );
$xp = new DOMXPath ( $domd );
$result = trim ( $xp->query ( '//*[@id="results-wrapper"]' )->item ( 0 )->textContent );
var_dump ( $result );
目前输出:string(30) "OK The email address is valid."
- 表示webmaster@hotmail.com
有效。 (见第3行)
警告,在不到一小时的5次尝试后,您将获得输出Limit Exceeded Only 5 lookups per hour is allowed. Try Premium Plan
警告,结果似乎非常不可靠。如果您确实需要验证电子邮件地址,请将电子邮件地址发送到电子邮件中。