No hyvää huomenta!
Selailin tässä aamutuimaan tätä keskustelualuetta ja täytyykin kysyä muutamaa asiaa.
<?php $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: www.example.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); } ?>
Tuossa php.netin tarjoama perusesimerkki fsockopenin käytöstä. Toimii hyvin. Kun koitan taas yhdistää osoitteeseen http://at8.abo.fi/ josta koitan taas raapaista säätiedot näppärästi niin tulee erkkiä:
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/users/www/test.php on line 2 Warning: fsockopen(): unable to connect to http://at8.abo.fi/:80 in /home/users/www/test.php on line 2 Success (0)
Mistä mahtaa johtua, että tuohon osoitteeseen ei saa yhteyttä?
Näyttäisi siltä, että palvelinkoneen nimipalvelu on rikki, koita at8.abo.fi-osoitteen sijaan yhdistellä suoraan IP-osoitteeseen 130.232.80.55.
fsockopenin käyttö tässä tapauksessa on muuten turhaa, file(), fopen() ja kumppanit osaavat suoraan HTTP-osoitteet.
Kiitän suuresti! file / fopen tosiaan ajaa asian.
Aihe on jo aika vanha, joten et voi enää vastata siihen.