/** * login * 执行的过程中绝不能产生语法异常,也不能有不可预知的异常抛出 * * 值得重试的可选项:连接超时,读取超时,其它合理的错误返回 * 这些都是有一定随机性的。以下两种情况不要重试了: * 1.不强制一定有正确结果返回 * 2.重试成功的可能性小或没有 * * 重试: * 1.意外:超时,断线 * 2.随机返回 */ public static function login2($data = []) { $i = 50; while ($i > 0) { $content = Api::getHttp()->get('http://yii.app.com/login.html', $data)->getContent(); //返回成功 if ($content == 'ok') { return 'ok'; //可以重试,有随机性 } elseif ($content == 'ng2') { $i--; continue; //不必试了 } else { return null; } } return null; }
public static function login($data) { $url = 'http://test/login.php'; $username = isset($data['username']) ? $data['username'] : ''; $password = isset($data['password']) ? $data['password'] : ''; $user = ['username' => $username, 'password' => md5($password)]; $content = Api::getHttp()->post($url, $user)->getContent(); $result = json_decode($content, true); if (isset($result['status'])) { if ($result['status'] == 'ok') { return $result['data']['info']; } elseif ($result['status'] == 'ng') { return $result['error']; } } //如有需要可以在此根据请求对象中的信息调试或判断处理 return 'unknow error!'; }