本文整理匯總了PHP中Http::httpRequest方法的典型用法代碼示例。如果您正苦於以下問題:PHP Http::httpRequest方法的具體用法?PHP Http::httpRequest怎麽用?PHP Http::httpRequest使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Http
的用法示例。
在下文中一共展示了Http::httpRequest方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: download
/**
* Efetua a requisição de um arquivo ao servidor.
*
* @param string
*
* @return string Arquivo ou link para o arquivo
*/
public function download($filename = null)
{
$http = new Http();
list($file, $info, $header) = $http->httpRequest("http://legendas.tv/downloadarquivo/{$this->id}");
if ($filename === null) {
preg_match('/Location: http:\\/\\/f\\.legendas\\.tv\\/\\w+\\/(.*)/', $header, $filename);
// O formato abaixo é o nome de retorno do arquivo do legendas.tv, que não diz muita coisa
$filename = trim($filename[1]);
// Alteramos para o nome de arquivo refletir o nome completo da legenda
$filename = $this->data['arquivo'] . substr($filename, strrpos($filename, '.'));
}
$filename = str_replace(array('/', '\\'), '_', $filename);
file_put_contents($filename, $file);
return $filename;
}
示例2: asyncHttpRequest
/**
* 發送異步http請求
*
* @param string $url
* @param string $method
* @param array $data
* @param array $cookie
* @param string $errno
* @param string $errstr
* @param number $timeout
* @param string $response
* @return Ambigous <boolean, Ambigous, string>
*/
public static function asyncHttpRequest($url, $method = 'GET', $data = array(), $cookie = array(), &$errno = '', &$errstr = '', $timeout = 3, $response = false)
{
// no protocol
if (!preg_match('/:\\/\\//i', $url)) {
$url = 'http://' . $url;
}
$url_array = parse_url($url);
if (empty($url_array['host'])) {
die('url error.');
}
$host = $url_array['host'];
$port = isset($url_array['port']) ? $url_array['port'] : 80;
$path = !empty($url_array['path']) ? $url_array['path'] : '/';
$query = !empty($url_array['query']) ? $url_array['query'] : '';
return Http::httpRequest($host, $port, $method, $path . "?" . $query, $data, $cookie, $errno, $errstr, $timeout, $response);
}
示例3: login
/**
* Loga um usuario junto ao legendas.tv.
*
* @param string $username Nome de usuário no legendas.tv
* @param string $password Senha
*
* @return booelan
*
* @throws Exception Em caso de problemas no login
*/
public function login($username, $password)
{
$http = new Http();
list($content) = $http->httpRequest('http://legendas.tv/login', array('data[User][username]' => $username, 'data[User][password]' => $password), 'POST');
# Trata possíveis erros
if (strpos($content, 'Usuário ou senha inválidos') !== false) {
# Remover cookies faz com que não caia no captcha, a princípio
$this->deletaCookie();
throw new Exception('Não foi possível se logar no site: Usuário ou senha inválidos.');
} elseif (strpos($content, 'Palavras de segurança incorretas') !== false) {
$this->deletaCookie();
throw new Exception('Muitas tentativas de login incorretas, captcha encontrado');
}
# Usuário (provavelmente) logado :P
return true;
}