Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Warning: fsockopen(): Operation not permitted
 
 автор: De_DaZar   (28.08.2007 в 09:29)   письмо автору
 
 

Подскажите пожайлуста что делать, не знаю в чем проблема. При использовании скрипта на хостинге вылазиет ошибка " Warning: fsockopen():Operation not permitted (1)". Видимо ошибка вылазиет из-за хостига - нельзя открыть порты??? На домашнем апаче скрипт работает нормально. вот сам скрипт

<?php
$UserAgent 
$_SERVER['HTTP_USER_AGENT'];
  function 
get_content($hostname$path)
  {
      
define("CRLF""\r\n");
    
define("DCRLF"CRLF.CRLF);
    
$line "";
    
// Устанавливаем соединение, имя которого
    // передано в параметре $hostname
    
$fp fsockopen($hostname80$errno$errstr30);
    
// Проверяем успешность установки соединения
    
if (!$fp) echo "$errstr ($errno)<br />\n";
    else
    {
      
// Формируем HTTP-запрос для передачи
      // его серверу
      
$headers "GET $path HTTP/1.1\r\n";
      
$headers .= "Host: $hostname\r\n";
      
$headers .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1".CRLF;
      
$headers .= "Accept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1".CRLF;
      
$headers .= "Accept-Encoding: deflate".CRLF;
      
$headers .= "Accept-Language: ru,en;q=0.9".CRLF;
      
$headers .= "User-Agent:".$UserAgent."".CRLF;
      
$headers .= "Connection: Close\r\n\r\n";
      
// Отправляем HTTP-запрос серверу
      
fwrite($fp$headers);
      
// Получаем ответ
      
while (!feof($fp))
      {
        
$line .= fgets($fp1024);
      }
      
fclose($fp);
    }
    return 
$line;
  }
  
$hostname "www.php.net";
  
$path "/";
  
// Устанавливаем большее время работы
  // скрипта - пока вся страница не будет загружена,
  // она не будет отображена
  
set_time_limit(180);
  
// Вызываем функцию
  
echo get_content($hostname$path);
?>


Пробовал скрипт на fatal.ru и holm.ru -неработает подскажите пожайлуста что сделать чтоб зароботал скрипт???

   
 
 автор: Faraon   (28.08.2007 в 09:46)   письмо автору
 
   для: De_DaZar   (28.08.2007 в 09:29)
 

Ошибки какие нибудь выдает?

   
 
 автор: cheops   (28.08.2007 в 10:48)   письмо автору
 
   для: De_DaZar   (28.08.2007 в 09:29)
 

На бесплатных хостингах обращение к другим хостам, как правило, запрещено (на fatal.ru и holm.ru точно запрещено).

   
 
 автор: De_DaZar   (28.08.2007 в 14:52)   письмо автору
 
   для: cheops   (28.08.2007 в 10:48)
 

а на платных разрешено?? а то купим хостинг и там нельзя((. А обойти не как нельзя запрет??
спасибо за ответ, прийдется наверное на платном хостинге использовать скрипты.
Самое обидное они в FAQ'e не чего не пишут по этому поводу, я ошибку долго искал в коде(

   
 
 автор: cheops   (28.08.2007 в 15:06)   письмо автору
 
   для: De_DaZar   (28.08.2007 в 14:52)
 

На платных, как правило, разрешено - в любом случае можно послать запрос в службу технической поддержки, перед тем как покупать хостинг, чтобы удостовериться.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования