本文整理汇总了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;
}