Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

HTTP request failed!

[es] :: PHP :: HTTP request failed!

[ Pregleda: 1324 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon HTTP request failed!10.01.2012. u 23:08 - pre 149 meseci
Pomagajte hitno je.
Dok sam radio sajt na loclhostu sve je radilo fino.koristio sam Codeigniter FW.
Dok covek za koga sam radio sajt je uzeo neki nemacki domen i kako sam prebacio na server dobijam probleme sa sledecim upozorenjima.

Greska nastaje tako sto ja hocu da preuzmem RSS vesti na sajt.

Citat:

A PHP Error was encountered

Severity: Warning

Message: SimpleXMLElement::__construct(http://www.smedia.rs/rss/?site=zabava&sekcija=Zanimljivosti) [simplexmlelement.--construct]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden

Filename: views/index.php

Line Number: 3



Citat:

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /home/.sites/65/site1124/web/system/cms/modules/blog/views/index.php:3 Stack trace: #0 /home/.sites/65/site1124/web/system/cms/modules/blog/views/index.php(3): SimpleXMLElement->__construct('http://www.smed...', 0, true) #1 /home/.sites/65/site1124/web/system/cms/libraries/MX/Loader.php(308): include('/home/.sites/65...') #2 /home/.sites/65/site1124/web/system/cms/libraries/MX/Loader.php(256): MX_Loader->_ci_load(Array) #3 /home/.sites/65/site1124/web/system/cms/libraries/MY_Parser.php(43): MX_Loader->view('index', Array, true) #4 /home/.sites/65/site1124/web/system/cms/libraries/Template.php(804): MY_Parser->parse('index', Array, true) #5 /home/.sites/65/site1124/web/system/cms/libraries/Template.php(768): Template->_load_view('index', Array, true) #6 /home/.sites/65/site1124/web/system/cms/libraries/Template.php(254): Template->_find_view('index', Array, true) #7 /home/.sites/65/site1124/web/system/cms/modules/blog/controller in /home/.sites/65/site1124/web/system/cms/modules/blog/views/index.php on line 3


Kod koji koristim:

Code:

    $rss = new SimpleXMLElement('http://www.smedia.rs/rss/?site=zabava&sekcija=Zanimljivosti', null, true);
     $i = 0;   
    foreach($rss->xpath('channel/item') as $item){
 
      if (++$i == 11) break;
 
      echo <<<EOF
        <a href='{$item->link}'>{$item->title}</a>
        {$item->description}
        {$item->image}
        {$item->pubDate}
EOF;
    }
  ?>


Probao sam da setujem
Code:
ini_set ('allow_url_fopen', '1'); 
I nista ,
phpinfo prikazuje da je allow_url_fopen on

Probao sam sa CURL i opet nista.

Jel imate vi neko resenje predlog bas mi gori pod nogama koliko mi ovo treba a nemam predstavu sta vise da googlam i sta sve nisam pokusao.
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Mr. Bond
Beograd

Član broj: 126551
Poruke: 124
*.adsl-1.sezampro.rs.

Sajt: https://rs.linkedin.com/i..


+14 Profil

icon Re: HTTP request failed!10.01.2012. u 23:36 - pre 149 meseci
Koliko sam na brzinu preleteo po Google-u problem je što te targetovani host blokira - pogotovu ako si uzeo od nekog poznatijeg provajdera moguće je da su blokirali crawl. Ništa te ne košta da probaš sledeće:

Umesto što SimpleXMLElement-u prosleđuješ URL uzmi dovuci cURL-om sadržaj i onda pozovi new SimpleXMLElement($content). Ono što se podrazumeva je da ćeš setovati cURL da radi preko proxija. Nije baš idealno rešenje ali mi se čini kao jedino moguće ako je IP blacklist-ovan.

Dakle koristi:

Code:

function getPage($proxy, $url, $referer, $agent, $header, $timeout) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, $header);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_REFERER, $referer);
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);
 
    $result['EXE'] = curl_exec($ch);
    $result['INF'] = curl_getinfo($ch);
    $result['ERR'] = curl_error($ch);
 
    curl_close($ch);
 
    return $result;
}


da dohvatiš RSS sadržaj i onda rezultat prosledi konstrutkoru SimpleXMLElement-a. Više o korišćenju proxy-a i šta šta znači iskopao sam ovde. Potraži samo UserAgent header (referer možda možeš i da zanemariš a možeš kao i on da staviš da je google.). Ovo bi trebalo dovoljno da prevari targetovani server i da ti vrati response.
Bad programmers worry about the code. Good programmers worry about data
structures and their relationships.
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: HTTP request failed!11.01.2012. u 02:20 - pre 149 meseci
Probao sam ovo ali ovo jedino radi na google rss na ni jedan nas vesti sajt nece..
Probao sam sve sajtove nase i nista.
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Mr. Bond
Beograd

Član broj: 126551
Poruke: 124
*.adsl-1.sezampro.rs.

Sajt: https://rs.linkedin.com/i..


+14 Profil

icon Re: HTTP request failed!11.01.2012. u 02:26 - pre 149 meseci
Stavi da je Referer "http://www.smedia.rs/".
Bad programmers worry about the code. Good programmers worry about data
structures and their relationships.
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: HTTP request failed!11.01.2012. u 02:50 - pre 149 meseci
Ja ne znam ovo da odradim ja sam glup za ovo jeb. mi sve..
Gledaj sta sam ja uradio i stalno mi vraca gresku..

Code:

function getPage($proxy, $url, $referer, $agent, $header, $timeout) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, $header);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_REFERER, $referer);
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);
 
    $result['EXE'] = curl_exec($ch);
    $result['INF'] = curl_getinfo($ch);
    $result['ERR'] = curl_error($ch);
 
    curl_close($ch);
 
    return $result;
}

$result = getPage(
    '[proxy IP]:[port]', // use valid proxy
    'http://www.smedia.rs/rss/?site=biznis&sekcija=Automobili',
    'http://www.smedia.rs',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8',
    1,
    5);
 
if (empty($result['ERR'])) {
    echo "USPESNO";
    /**
    $rss = new SimpleXMLElement($result , null, true);
     $i = 0;   
    foreach($rss->xpath('channel/item') as $item){
 
      if (++$i == 11) break;
 
      echo <<<EOF
        <a href='{$item->link}'>{$item->title}</a>
        {$item->description}
        {$item->image}
        {$item->pubDate}
EOF;
    }    
    *//
} else {
    echo "ERROR";
}


Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: HTTP request failed!13.01.2012. u 20:40 - pre 149 meseci
Problem je resen, kontaktirao sam Hosting administratora i problem je bio firewall na serveru...
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

[es] :: PHP :: HTTP request failed!

[ Pregleda: 1324 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.