Помогите с fsockopen, не могу понять как заставить быстро работать

vetalspb

Новичок
Помогите с fsockopen, не могу понять как заставить быстро работать

Здраствуйте.
Необходимо написать скрипт который обходя некоторые сайты собирает с них информацию. У меня для этого каждый сайт посылается POST-запрос fsockopen и читается результат.
Вот пример моего кода
// Формируем HTTP-запрос
$myquery = "POST /$path HTTP/1.0\r\n" . "Host: $host\r\n" . "Referer: http://$host/$path\r\n" .
"Content-Type: application/x-www-form-urlencoded\r\n" .
"Content-Length: $kol\r\n" . "\r\n" . $st;
$fp = fsockopen ($host, 80, $errno, $errstr, 5);
if (!$fp) { //Нет коннекта
} else {
fputs ($fp, $myquery);
while (!feof($fp)) {
$data .= fgets($fp, 128);
}
}
И эта часть в цикле находится. И как я раньше писал есть проблемма времени, каждый запрос выполняеться от секунды и более и при 20 запросах уже получается время выполнения скрипта от 40 секунд
Вопросы:
1) Как уменьшить время выполнения скрипта, допустим паралельные процессы можно сделать
2) И как можно ограничить время выполнения запроса, допустим кусок примера не дает результатов более 10 сек как закаончить выполнение его и приступить к следующему запросу.

Заранее большое спасибо.
 

Кром

Новичок
Это называется: "тырить чужую инфУ".
Запрещено правилами форума для обсуждения.
 

vetalspb

Новичок
Нет, можеть я не правильно выразился, но мне надо это все не для того чтобы тырить инфу.
У меня есть сайт поисковая система, для моей системы участники которые зарегистрировались у меня на сайте пишут скрипт к которому я обращаюсь с запросом и он мне отдает результат в формате xml, которые отбражаеться у меня на сайте. Сейчас у меня на сайте порядка 20 участников и у всех есть скрипты, но чем их становиться больше тем мой рессурс все более и более тормазит.
 

Кром

Новичок
А зачем, скажи на милость ты посылаешь им POST запросы, да еще и с Referer?
 

vetalspb

Новичок
Для примера
www.test.ru/index.php?st=тест
В результате этого запроса я получу данные в которых будут результаты поиска на сайте test.ru слова st = тест.
Проще говоря это все делаеться с согласия даже более мне участники сами пишут скрипты чтобы я их подключал к своей поисковой системе.
А вот производить какое нибудь копирование информации таким образом тоже возможно, но мне это нужно для других целей. Поэтому меня обвинять в чемто не целесобразно.
 

Кром

Новичок
>Для примера
>www.test.ru/index.php?st=тест
>В результате этого запроса я получу данные в которых будут результаты поиска на сайте test.ru слова st = тест.

Пример неудачен. Если ты не знаешь разницу между методами передачи данных, почитай о HTTP протоколе.
Итак, еще раз: зачем ты посылаешь им POST запросы, да еще и с Referer?
 

vetalspb

Новичок
Я если честно не совсе понимаю в чем разница POST или GET и что такое Referer я просто скопировал кусок на какомто форуме подогнал под себя, и все заработело. Вот с тех пор все и работет.
Могу сказать что у меня и вот так данные запросы посылаются
$str=file("www.test.ru/index.php?st=тест");
for ($j=0;$j<count($str);$j++)
{
$xml1[$j]=chop($str[$j]);
$str=$str.$str[$j];
}
Я не крутой программер поэтому может и есть какието оплошности.
Если скажете зачем нужен Referer буду только рад
 

Кром

Новичок
Если тебя интересует Referer, можешь самостоятельно поискать ответ на этом форуме. Тоже касается POST и GET.
 
Сверху