使用 curl() 函数实现不同站点之间注册用户的同步
一 需求
在A站点注册一个新用户,那么,在B站点也会被同时注册
二 思路
在A站点注册的同时,调用API接口实现在B站点也会被同时注册
三 实现
主要代码如下:
function http_curl($url,$post='',$cookie=''){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_REFERER, "http://XXX"); if($post) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post)); } if($cookie) { curl_setopt($curl, CURLOPT_COOKIE, $cookie); } curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); if(curl_errno($curl)) { return curl_error($curl); } curl_close($curl);
return $data;
}
参数说明:参数1为访问的URL,参数2为post数据(不填则为GET),参数3为提交的$cookies。
具体来说,参数$url 就是B站点中的注册链接,参数$post 就是A站点注册时 post的数据,这里同样作为 该API 的参数传给B站点,至于参数$cookies,对于有些网站来说是必要的。