因为查询可能会频繁所以我这增加了渠道代理的方法
直接上代码
<?php
$file = "cookie.txt";
$cookie = file_get_contents($file);//将整个文件内容读入到一个字符串中
$cookie = str_replace("\r\n","<br />",$cookie);
function sdk_post($page_url,$post_data,$headers) {
$ch = curl_init();
$tunnelhost = "tunnel.qg.net";
$tunnelport = "17390";
$proxy = $tunnelhost.":".$tunnelport;
//隧道用户名密码
$username = "t13851061158346";
$password = "ove2isok";
//$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $page_url);
//发送post请求
//$requestData["post"] = "send post request";
//curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($requestData));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//设置代理
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//设置代理用户名密码
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "{$username}:{$password}");
//自定义header
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$post_data);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
//自定义cookie
curl_setopt($ch, CURLOPT_COOKIE,'');
curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); //使用gzip压缩传输数据让访问更快
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
//curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
return $result;
}
function uuid($prefix = '') {
$chars = md5(uniqid(mt_rand(), true));
$uuid = substr($chars,0,8) . '-';
$uuid .= substr($chars,8,4) . '-';
$uuid .= substr($chars,12,4) . '-';
$uuid .= substr($chars,16,4) . '-';
$uuid .= substr($chars,20,12);
return $prefix . $uuid;
}
$post_data = array(
'mobile' => $_GET['mobile'],
'redirect_uri' => '',
'response_type' => 'code',
'client_id' => '',
'scope' => 'openid corpid',
'org_type' => 'management',
'loginEmail' => '',
'pdmTitle' => 'Windows Web',
'pdmModel' => 'Windows',
'pdmToken' => ''
);
$url = "https://login.dingtalk.com/oauth";
$uniqid = md5(uniqid(microtime(true),true)).uuid().md5(uuid());
$headers = array(
"Accept-Encoding: gzip, deflate, br",
"Accept-Language: zh-cn",
"Connection: keep-alive",
"Cookie: ".$cookie,
"Host: login.dingtalk.com",
"Origin: https://login.dingtalk.com/",
"Referer: https://login.dingtalk.com/#qw".$uniqid,
"User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1"
);
$ip = $_GET['ip'];
$json = sdk_post($url,$post_data,$headers);
//$json = sdk_post2();
echo $json;
?>