Eroare citire pagina cu file_get_contents

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
MelecaCristian
Mesaje: 175

Eroare citire pagina cu file_get_contents

Buna ziua,

Vreau sa preiau informatiile din aceasta adresa si sa o afisez intr-o alta pagina php

URL://79.114.46.127:5819/

Scriptul pe care l-am testat in xampp(cu ip local) si a functionat este:

Cod: Selectaţi tot

<?php
$query = "http://79.114.46.127:5819/ ...";
$procesare = file_get_contents($query);
echo $procesare;
?>
insa cand l-am publicat online nu a mai functionat si am intampinat urmatoarea eroare:

Cod: Selectaţi tot

Warning: file_get_contents(//79.114.46.127:5819/ ...): failed to open stream: Connection refused in /home/<user>/public_html/sms.php on line 3
(ip-ul este dinamic, la urmatorul restart v-a fi altul)

allow_url_fopen este activ in pachetul de hosting.

A-ti mai intampinat probleme cu file_get_contents pe server public ?

Multumesc mult de ajutor
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford

MarPlo
Salut,
Nu stiu care sa fie problema; totusi, incearca unul din aceste coduri:

- Cu metoda cURL

Cod: Selectaţi tot

<?php 
header('Content-type: text/html; charset=utf-8');

function get_web_page($url){
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_HEADER, true);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_SSLVERSION, 1);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
  curl_setopt($ch, CURLOPT_REFERER, '');
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2');
  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml\r\n'.
    'Authorization: Bearer sdf541gs6df51gsd1bsb16etb16teg1etr1ge61g\n'));
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
  curl_setopt($ch, CURLOPT_VERBOSE , 1);

  $response = curl_exec($ch);
  if(curl_errno($ch) !== CURLE_OK){
    throw new \RuntimeException('curl_exec error: '. curl_error($ch) .': '. curl_error($ch));
  }

  $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
  $header = substr($response, 0, $header_size);
  $body = substr($response, $header_size);
  curl_close($ch);
  return array('header'=>$header, 'body'=>$body);
}

$url ='https://marplo.net/';
$get_pg = get_web_page($url);
echo $get_pg['header'];
echo $get_pg['body'];

- Cu file_get_contents():

Cod: Selectaţi tot

<?php 
header('Content-type: text/html; charset=utf-8');

$url ='https://marplo.net/';

$opts = array('http' => array(
  'method' =>'GET',
  'http' => array('ignore_errors'),
  'header' =>
    'Content-Type: application/x-www-form-urlencoded\r\n'.
    'Authorization: Bearer sdf541gs6df51gsd1bsb16etb16teg1etr1ge61g\n',
    'content' => $url
));

$context  = stream_context_create($opts);

$res = file_get_contents($url, false, $context);
echo $res;

MelecaCristian
Multumesc mult pentru raspunsul tau. Insa problema persista.

Sa fie de la faptul ca url-ul meu local nu are certificat SSL/conexiune securizata SSL ?

Am incercat si cu iframe, unde am SSL nu functioneaza, daca dezactivez SSL-ul imi afiseaza pagina.

Ai mai intalnit problema asta ?

Scripturiile recomandate de tine le-am testat pe 2 provideri deferiti si ambele au returnat eroare :(

Multumesc multa inca odata
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford

MarPlo
Imi pare rau, mai mult nu stiu cum sa te ajut, posibil sa fie ceva cu SSL, dar nu cunosc.

Am testat scripturile; codul cu cURL e bun, a mers bine atat pe localhost cat si pe serverul de la marplo.net, dar cel cu file_get_contents() a mers doar pe localhost.

Subiecte similare