예제 #1
0
파일: UserApi.php 프로젝트: yxdj/network
 /**
  * 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;
 }
예제 #2
0
파일: TestApi.php 프로젝트: yxdj/network
 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!';
 }