Пример #1
0
 public function query()
 {
     $url = 'http://m.kuaidi100.com/query';
     $url .= '?type=' . $this->type . '&postid=' . $this->postId;
     $url .= '&id=' . $this->id . '&valicode=' . $this->validateCode;
     $url .= '&temp=' . $this->temp;
     $referer = 'http://m.kuaidi100.com/index_all.html';
     $curl = new \Curl\Curl();
     $curl->setUserAgent($_SERVER['HTTP_USER_AGENT']);
     $curl->setReferrer($referer);
     $curl->setOpt(CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
     $curl->post($url);
     if ($curl->error) {
         $response = array('errno' => $curl->error_code, 'message' => $curl->error_message);
     } else {
         $data = json_decode($curl->response);
         if ($data->status == 200) {
             $response = array('errno' => 0, 'data' => $data);
         } else {
             throw new \Exception($data->message, $data->status);
         }
     }
     $curl->close();
     return $response;
 }
Пример #2
0
 /**
  * Signin with rest api to get token, or display login form.
  */
 protected function signin()
 {
     // redirect to home if logged
     if ($_SESSION && $_SESSION['USER_LOGGED']) {
         $this->logger->debug("Redirect to home");
         header("Location: /");
         exit;
     }
     $data = array();
     // check login
     if (!empty($this->postvalues)) {
         $curl = new Curl\Curl();
         $curl->post($this->config['login_url'], array('username' => $this->postvalues['email'], 'password' => $this->postvalues['password']));
         if (!$curl->error) {
             $token = $curl->response_headers[$this->config['auth_header_name']];
             // store token in session
             $_SESSION['AUTH_TOKEN'] = $token;
             $_SESSION['USER_LOGGED'] = true;
             $this->logger->debug("Add token to session, USER_LOGGED = " . $_SESSION['USER_LOGGED']);
             $curl->close();
             // redirect to home
             header("Location: /");
             exit;
         } else {
             // treat error
             // TODO externalize messages
             switch ($curl->error_code) {
                 case "401":
                     $data['login_errorMessage'] = "L'email ou le mot de passe n'est pas valide";
                     break;
                 default:
                     $data['login_errorMessage'] = "Une erreur technique est survenue";
                     break;
             }
             $this->logger->debug("Error : code=" . $curl->error_code . ", message=" . $data['login_errorMessage']);
             $curl->close();
         }
     }
     $view = "signin/signin.html.twig";
     $this->returnView($view, $data);
 }
Пример #3
0
 public function sendAccessTokenRequest($requestTokenUrl, $params)
 {
     $this->verifyState($_GET['state']);
     $curl = new \Curl\Curl();
     $curl->verbose();
     $curl->post($requestTokenUrl, $params);
     if ($curl->error) {
         $errorcode = $curl->error_code;
         $curl->close();
         throw new \Exception("Something went wrong, unable to send request for token: " . $errorcode);
     } else {
         $token = $this->storeTokenData($curl->response);
         return $token;
     }
 }
Пример #4
0
        $response_params = ['success' => false, 'message' => '', 'data' => []];
        if (empty($request_params)) {
            $response_params['message'] = 'No parameters supplied';
        } else {
            if (!isset($request_params['url']) || empty($request_params['url'])) {
                $response_params['message'] = 'Image URL parameter missing';
            } else {
                $source_url = 'http://www.nudedetect.com/';
                $curl = new \Curl\Curl();
                $curl->setReferrer($source_url);
                $curl->post($source_url . 'process.php', ['url' => $request_params['url']]);
                if ($curl->error) {
                    $response_params['message'] = $curl->error_code;
                } else {
                    $image_check_response = strtolower($curl->response);
                    $curl->close();
                    $image_check = preg_match_all("/([0-9]+\\.[0-9]+%)<\\/h[0-9]>\\s([a-z]+)/i", $image_check_response, $image_check_data, PREG_PATTERN_ORDER);
                    if (!$image_check) {
                        $response_params['message'] = 'Image check failed';
                    } else {
                        $response_params['data'] = ['nude' => $image_check_data[1][0], 'minimal' => $image_check_data[1][1]];
                        $response_params['message'] = 'Image processed successfully';
                        $response_params['success'] = true;
                    }
                }
            }
        }
        return $response->write(json_encode($response_params))->withHeader('Content-Type', 'application/json');
    }
});
$app->run();