praegune kellaaeg 17.06.2025 20:16:44
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
jarmis
HV vaatleja
liitunud: 05.09.2010
|
|
tagasi üles |
|
 |
LKits
HV Guru

liitunud: 06.09.2007
|
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
jarmis
HV vaatleja
liitunud: 05.09.2010
|
22.10.2011 13:47:17
|
|
|
lkits kirjutas: |
Üritad lugeda enda koodiga teise lehekülje koodi? Ega kui see keelatud, siis kasuta mõnda teist majutus teenuspakkujat. |
Ma ei pöörduks siia abi küsima, kui ma tahaks/saaks teenusepakkujat muuta.
kuidagi Unison'i koodi stiilis ei saa teha? olen ise ka uurinud aga jääb oskustest ja teadmistest puudu.
|
|
tagasi üles |
|
 |
LKits
HV Guru

liitunud: 06.09.2007
|
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
jarmis
HV vaatleja
liitunud: 05.09.2010
|
22.10.2011 14:00:18
|
|
|
Aga asi on selles, et see algne kood ei ole minu tehtud ning ei tulnud välja kui üritasin ise muuta ümber. Mõtlesin, et ehk mõni asjatundja oskab.
|
|
tagasi üles |
|
 |
Timukas0
HV kasutaja

liitunud: 20.03.2007
|
22.10.2011 14:38:59
|
|
|
cURL paistab töötavat:
php:
|
function file_get_contents_curl ($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $contents = curl_exec($ch); curl_close($ch); return $contents; } echo file_get_contents_curl ('https://foorum.hinnavaatlus.ee/');
|
Pead muidugi kohandama seal, kus $context ette antakse. Siit peaks vajaliku info saama.
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004

|
22.10.2011 14:39:12
|
|
|
jarmis, proovi kas cURL töötab. Kui jah, siis saad selle peale ümber muuta selle veebilehe sikutamise osa.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
jarmis
HV vaatleja
liitunud: 05.09.2010
|
22.10.2011 14:43:26
|
|
|
cURL töötab jah
aga kuidas ma selle "$page = @file_get_contents(LOL_URL, false, $context);" ümber teen?
|
|
tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004

|
22.10.2011 14:58:38
|
|
|
php:
|
<?php define('LOL_URL', 'http://eu.leagueoflegends.com/ladders/solo-5x5'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, LOL_URL); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_REFERER, LOL_URL); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.68 Safari/534.30"); $page = curl_exec($ch); curl_close($ch);
|
Umbes selliselt.
|
|
Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
tagasi üles |
|
 |
jarmis
HV vaatleja
liitunud: 05.09.2010
|
22.10.2011 21:16:12
|
|
|
Krt jama on ikkagi, ta ei kurjuta apache faile. Ja midagi tal veel ei tööta. Terve päev jamanud, mitte ei jaga ära mis jama on.
Spoiler 
<?php
// List of players to fetch data for
$players = array('fixalot');
// URL to get statistics from
define('LOL_URL', 'http://euw.leagueoflegends.com/ladders/solo-5x5'); // for EU
//define('LOL_URL', 'http://www.leagueoflegends.com/ladders/solo-5x5'); // for US
// To enable caching, create a 'cache' directory in the same directory as
// this script. It should be writable by the php process. The easy way is:
// $ mkdir -m777 cache ,'thonsor','sperr','lubrikant','imrarakas','rraul','leeinho','magebaby','argton','imrarakas','imrarakas','imrarakas','imrarakas','imrarakas','imrarakas','imrarakas','imrarakas','imrarakas','imrarakas','imrarakas','imrarakas','imrarakas'
// Time to cache results in seconds, 0 for off
define('CACHE_TIME', 1); // 6h 60*60*6
error_reporting(E_ALL);
function file_get_contents_curl ($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec($ch);
curl_close($ch);
return $contents;
}
function get_player($player_name) {
global $cache_time;
$cache_file = dirname(__file__) . '/cache/' . md5($player_name) . '.dat';
if (CACHE_TIME !== 0 && file_exists($cache_file) && time() - filemtime($cache_file) <= CACHE_TIME){
return unserialize(file_get_contents($cache_file));
}
$page = file_get_contents_curl(LOL_URL);
$html = new DOMDocument;
@$html->loadHTML($page);
$inputs = $html->getElementById('ladders-filter-form')->getElementsByTagName('input');
$post_data = array();
foreach ($inputs as $input){
$post_data[$input->getAttribute('name')] = $input->getAttribute('value');
}
$post_data['player'] = $player_name;
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'content' => http_build_query($post_data),
'headers' => "Referer: ". LOL_URL ."\r\n" .
"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.68 Safari/534.30\r\n" .
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n" .
"Accept-Charset: UTF-8,*;q=0.5\r\n" .
"Content-Type: application/x-www-form-urlencoded\r\n"
)
));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, LOL_URL);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_REFERER, LOL_URL);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.68 Safari/534.30");
$page = curl_exec($ch);
curl_close($ch);
$html = new DOMDocument;
@$html->loadHTML($page);
$row = NULL;
$rows = $html->getElementsByTagName('tr');
for($i=0;$i<$rows->length;$i++){
if (strpos(@$rows->item($i)->attributes->getNamedItem('class')->nodeValue, 'highlight') !== FALSE){
$row = $rows->item($i);
break;
}
}
if (is_null($row)){
return;
}
$player = array();
$cells = $row->getElementsByTagName('td');
for($i=0;$i<$cells->length;$i++){
$key = str_replace('ladder-field', '', $cells->item($i)->attributes->getNamedItem('class')->nodeValue);
$key = trim($key, ' -');
if ($span = $cells->item($i)->getElementsByTagName('span')->item(0)){
$cells->item($i)->removeChild($span);
}
$player[$key] = trim($cells->item($i)->textContent);
}
$player['icon'] = $row->getElementsByTagName('img')->item(0)->attributes->getNamedItem('src')->nodeValue;
if ($player && file_exists(dirname($cache_file))){
file_put_contents($cache_file, serialize($player));
}
return $player;
}
// make assoc array of players and their data
$players = array_combine($players, array_fill(0, count($players), NULL));
foreach($players as $player_name => $val){
$players[$player_name] = get_player($player_name);
}
sort($players);
$i=1;
?>
|
|
tagasi üles |
|
 |
LKits
HV Guru

liitunud: 06.09.2007
|
|
Kommentaarid: 13 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
jarmis
HV vaatleja
liitunud: 05.09.2010
|
23.10.2011 11:59:24
|
|
|
lkits kirjutas: |
Vaata kohta: return unserialize(file_get_contents($cache_file)); |
ma ei saa sellest eriti aru, seega ei tea mis seal valesti on või mis muutma peaks.
Praegu ta suudab lugeda ainult juba olemas olevast cache failist. Ma arvan, et ta ei suuda ikkagi selle curl-iga leida sama asja mis ta file_get_contents-iga leidis.
oskab keegi vaadata, mis puudu või valesti on?
|
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|