public function getToken() { $username = self::CONFIG_USERNAME; $password = self::CONFIG_PASSWORD; $time = time(); $hash = md5("{$username}@{$password}@{$time}"); $auth = "{$username}@{$time}@{$hash}"; $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : ''; $url = 'http://axe.mappy.com/1v1/token/generate.aspx?' . 'auth=' . urlencode($auth) . '&' . 'ip=' . urldecode($ip); /** $remote = @fopen($url, 'rb'); if ( false === $remote ) return false; $token = ''; while ( !( feof($remote) ) ) $token .= fread($remote, 8192); fclose($remote); */ $curl = new Curl($url); $curl->request(); $resp = $curl->response(); $curl->disconnect(); return $resp['body']; }
/** * Если статус возврата получен - возвращает true * Значение полученного статуса возврата - getValuePayReturnStatus() * * @param string $orderId - Уникальный в магазине id заказа * @param string $payReturnId - Уникальный для заказа id возврата * * @return bool */ public function doRequestReturnStatus($orderId, $payReturnId) { $oResponse = $this->curl->request($orderId, 'GET', null, $payReturnId); $this->parseError($oResponse); if ($this->getError()) { return false; } $status = $oResponse->response->refund->status; $this->setValuePayReturnStatus($this->statusMap[$status]); return true; }
/** * Call web service method * * @param string $methodUrl Web service method URL eg: /getEmployee/empNumber/5 * @param string $httpVerb HTTP Verb. Eg: GET, POST, PUT, DELETE * @return Array Webservice return values as an array */ public function callMethod($methodUrl, $httpVerb, array $parameters = array()) { $token = $this->getToken(); $curlOptions = array('headers' => array("Authorization: Bearer {$token}")); if (!empty($this->port)) { $curlOptions[CURLOPT_PORT] = $this->port; } $endpoint = $this->baseUrl . '/api/' . ltrim($methodUrl, '/'); $curl = new Curl(); $response = $curl->request($endpoint, json_encode($parameters), $httpVerb, $curlOptions); return $response; }
protected function request($url) { $curl = new Curl($url); $curl->request(); $this->response = $curl->response(); $curl->disconnect(); if ($this->response['status']) { if ($this->response['status']['code'] == 200) { return $this->response['body']; } throw new Exception($this->response['status']['message'], $this->response['status']['code']); } throw new Exception('Error!'); }
protected function request($url, $post = false) { if (true === $post || is_array($post)) { $curl = new Curl($url, CURLOPT_POST, true === $post ? array() : $post); } else { $curl = new Curl($url); } $curl->request(); $this->response = $curl->response(); $curl->disconnect(); if ($this->response['status']) { if ($this->response['status']['code'] == 200) { return $this->response['body']; } throw new Exception($this->response['status']['message'], $this->response['status']['code']); } throw new Exception('Error!'); }
private function _call($call, $data = FALSE, $type = FALSE) { switch ($type) { case "post": $curl = new Curl(); $url = $this->api_host . $call . "?key={$this->key}"; $response = $curl->post($url, $data); $response = json_decode($response->body); return $response; break; case "put": $curl = new Curl(); $url = $this->api_host . $call . "?key={$this->key}"; $response = $curl->put($url, $data); $response = json_decode($response->body); return $response; break; case "delete": $curl = new Curl(); $url = $this->api_host . $call . "?key={$this->key}"; $response = $curl->request('DELETE', $url, $data); $response = json_decode($response->body); return $response; break; default: $data["key"] = $this->key; $curl = new Curl(); //$url = $this->api_host . $call . "?key=$this->key"; $url = $this->api_host . $call; $response = $curl->get($url, $data); $response = json_decode($response->body); return $response; break; } }
/** * Request * * @static * @private * @param $url * @return bool */ private static function request($url) { if (!self::$ready) { return false; } $url = mb_strtolower($url); self::$content = ''; self::$raw = ''; self::$response = array(); if (stristr($url, 'https')) { curl_setopt_array(self::$conn, array(CURLOPT_SSLVERSION => 3, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false)); } $headers = array(); if (self::$headers) { foreach (self::$headers as $name => $value) { $headers[] = $name . ': ' . $value; } } curl_setopt(self::$conn, CURLOPT_HTTPHEADER, $headers); if (self::$cookies) { $cookies = array(); foreach (self::$cookies as $name => $value) { $cookies[] = $name . '=' . $value; } $cookies = implode('; ', $cookies); curl_setopt(self::$conn, CURLOPT_COOKIE, $cookies); } curl_setopt(self::$conn, CURLOPT_URL, $url); $response = curl_exec(self::$conn); $request = curl_getinfo(self::$conn, CURLINFO_HEADER_OUT); self::$request = curl_getinfo(self::$conn); if ($response) { $sections = explode("\r\n\r\n", $response, self::$request['redirect_count'] + 2); self::$content = array_pop($sections); self::$raw = $response; self::parseHeaders($sections); } return self::$content; }
/** * [saveUserInfo 更新用户信息] * @param [type] $tmp_u_id [用户ID] * @return [type] [description] */ function updateUserInfo($tmp_u_id) { echo "--------update user {$tmp_u_id}--------\n"; echo "--------start updating {$tmp_u_id} info--------\n"; $result = Curl::request('GET', 'http://www.zhihu.com/people/' . $tmp_u_id . '/followees'); if (empty($result)) { $i = 0; while (empty($result)) { echo "--------empty result.try get {$i} time--------\n"; $result = Curl::request('GET', 'http://www.zhihu.com/people/' . $tmp_u_id); if (++$i == 5) { exit($i); } } } $current_user = getUserInfo($result); unset($current_user['u_id']); User::update($current_user, $tmp_u_id); echo "--------update {$tmp_u_id} info done--------\n"; }