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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как происходит отправка запроса к БД в инете?

Сообщения:  [1-8] 

 
 автор: Evgen   (21.08.2006 в 03:57)   письмо автору
 
   для: CrazyAngel   (21.08.2006 в 03:53)
 

Понял! Днем на свежую голову попробую помыслить.

Все равно, спасибо за идеи, CrazyAngel !

   
 
 автор: CrazyAngel   (21.08.2006 в 03:53)   письмо автору
 
   для: Evgen   (21.08.2006 в 03:32)
 

Честно сказать незнаю, я эту функцию откуда-то стырил =)

   
 
 автор: Evgen   (21.08.2006 в 03:32)   письмо автору
 
   для: CrazyAngel   (21.08.2006 в 03:17)
 

>Попробуйте использовать следующую функцию , над текстом перед записью в файл
>

><?php
>function UTF8toCP1251($str){
>     static 
$table = array("xD0x81" => "xA8"// Ё
>                           "xD1x91" => "xB8"// ё
>                          );
>     return 
preg_replace('#([xD0-xD1])([x80-xBF])#se',
>                         
'isset($table["$0"]) ? $table["$0"] :
>                          chr(ord("$2")+("$1" == "xD0" ? 0x30 : 0x70))'
,
>                         
$str
>                        );
>    }
>
?>
>


В строках 'isset($table["$0"]) ? $table["$0"] :
chr(ord("$2")+("$1" == "xD0" ? 0x30 : 0x70))'
:
$0, $1 и $2 - это что?

   
 
 автор: CrazyAngel   (21.08.2006 в 03:17)   письмо автору
 
   для: Evgen   (21.08.2006 в 02:56)
 

Попробуйте использовать следующую функцию , над текстом перед записью в файл

<?php
function UTF8toCP1251($str){
     static 
$table = array("xD0x81" => "xA8"// Ё
                           
"xD1x91" => "xB8"// ё
                          
);
     return 
preg_replace('#([xD0-xD1])([x80-xBF])#se',
                         
'isset($table["$0"]) ? $table["$0"] :
                          chr(ord("$2")+("$1" == "xD0" ? 0x30 : 0x70))'
,
                         
$str
                        
);
    }
?>

   
 
 автор: Evgen   (21.08.2006 в 02:56)   письмо автору
 
   для: Evgen   (21.08.2006 в 01:09)
 

Уважаемый CrazyAngel !

Разобрался, попробовал - все работает ! Еще раз большое спасибо!

Правда по ходу выяснилась "маленькая" неприятность - на сайте кодировка UTF-8, в файл буквы записываются есессно на сказочном языке. Весной как-то я уже задавал вопрос по этой проблеме - перелопатил щас страниц 30 форума - не смог найти...

Насколько помню - там советовали подключать какую-то библиотеку, что-ли ... не помню.

Если не затруднит - не могли бы Вы прояснить мне это дело ?

   
 
 автор: Evgen   (21.08.2006 в 01:09)   письмо автору
 
   для: CrazyAngel   (21.08.2006 в 01:04)
 

Большое спасибо!

Ухожу на обдумывание!

   
 
 автор: CrazyAngel   (21.08.2006 в 01:04)   письмо автору
 
   для: evgen   (21.08.2006 в 00:25)
 


<?php
  
//Данные
  
$dataPOST urlencode("
             &name=CrazyAngel
               &email=CrazyAngel@CrazySoft.ru
             &message=Здесь очень крутое сообщение
             \r\n\r\n"
);


  
$dataGET urlencode("
             &name=CrazyAngel
               &email=CrazyAngel@CrazySoft.ru
             &message=Здесь очень крутое сообщение
             "
);

  
$Cookie "login = login; Pass = Pass;";
  
$Referer "http://host.com/foms/index.php";
  
$UserAgent "User-Agent: Script PHP/1.0";

  
//Адрес хоста
  
$hostname "htmlcoder.visions.ru";
  
//Путь
  
$path "HTML/?20";
  
$line "";
 
//Коннект
  
$fp fsockopen($hostname80$errno$errstr30);
  
// Проверка
  
if (!$fp) echo "$errstr ($errno)<br />\n";
  else
  {
    
$path .="?".$dataGET;

    
// Заголовок HTTP-запроса
    
$headers "POST $path HTTP/1.1\r\n";
    
$headers .= "Host: $hostname\r\n";
    
//UserAgent
    
$headers .= $UserAgent;
    
//Подделка реферера
    
$headers .= "Referer: ".$Referer ."\r\n";
    
//Подделка cookies
    
$headers .= "Cookie:"$Cookie."\r\n";
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($dataPOST)."\r\n\r\n";
    
// Отправляем HTTP-запрос серверу
    
fwrite($fp$headers.$dataPOST);
    
// Получаем ответ
    
while (!feof($fp))
    {
      
$line .= fgets($fp1024);
    }
    
fclose($fp);
  }
echo 
"<b>Полученные данные от сервера $hostname:</b><br>";
echo 
$line;
?>


Вот скрипт, который подделает себя под браузер =)

Но вожно так

$text = file_get_content("http://site.ru/paran1=2&param2=2;");
// Дальше записываем в файл $text, у нас там страничка
...

   
 
 автор: evgen   (21.08.2006 в 00:25)   письмо автору
 
 

Здравствуйте!

Есть сайт в инете, который при заполнении формы выдает инфу из своей базы. Отправка данных формы - через GET. Мне нужно регулярно эту информацию (скажем раз в неделю) получать, сохранять и обрабатывать. Сейчас я это делаю так:

- запускаю несколько экземпляров IE,
- в адресной строке пишу весь этот GET (копирую из блокнота),
- открываю в IE просмотр кода,
- копирую весь текст опять в блокнот,
- сохраняю в файл *.txt,
- далее все необходимые обработки этого текста ..!

Понимаю, что это мягко говоря "не совсем рационально", но как это сделать правильно ... ПОДСКАЖИТЕ ПОЖАЛУЙСТА !

PS. У меня на машине - ПХП+Апач, ими и обрабатываю вышеназванные *.txt

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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