Fang
Новичок
Особенная проблема с сокетами
СРАЗУ ВОПРОС:
1 уникальный сервер на запросы через php отвечает так - 70% ответа сразу (все ок) а остальные 30% примерно через 30-40 сек. Из-за этого у меня большие проблемы! (Уже не один велосипед изобрел...)
Запросы я ему посылаю такие же как и мой браузер... только вот с браузером он работает быстро (моментально) а в моих... через "одно место"...
ВОТ ПРИМЕР:
<?php
$fp = fsockopen("www.*******", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "POST /login/existinguserlogincheck.asp HTTP/1.1\r\n";
$out .= "Accept: */*\r\n";
$out .= "Referer: http://*******/default.asp\r\n";
$out .= "Accept-Language: ru\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "UA-CPU: x86\r\n";
$out .= "Accept-Encoding: gzip, deflate\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; WebMoney Advisor; Pivim Multibar; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n";
$out .= "Host: *******\r\n";
$out .= "Content-Length: 71\r\n";
$out .= "Connection: Keep-Alive\r\n";
$out .= "Cache-Control: no-cache\r\n";
$out .= "Cookie: ****************************\r\n";
$out .= "\r\n";
$out .= "UserName=********&Password=*********&SubmitLogin.x=7&SubmitLogin.y=10";
fwrite($fp, $out);
echo "<pre>";
while (!feof($fp)) {
echo fgets($fp, 128);
}
echo "</pre>";
fclose($fp);
}
?>
Видите? Элементарнейший запрос и работает ужасно... хедер для запроса я взял с IEWatch... Уже не знаю что делать...
И так любые запросы на этот сервер... На что это похоже и, главное, как с этим боротся???
php 5
apache 2.2
WinXP
СРАЗУ ВОПРОС:
1 уникальный сервер на запросы через php отвечает так - 70% ответа сразу (все ок) а остальные 30% примерно через 30-40 сек. Из-за этого у меня большие проблемы! (Уже не один велосипед изобрел...)
Запросы я ему посылаю такие же как и мой браузер... только вот с браузером он работает быстро (моментально) а в моих... через "одно место"...
ВОТ ПРИМЕР:
<?php
$fp = fsockopen("www.*******", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "POST /login/existinguserlogincheck.asp HTTP/1.1\r\n";
$out .= "Accept: */*\r\n";
$out .= "Referer: http://*******/default.asp\r\n";
$out .= "Accept-Language: ru\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "UA-CPU: x86\r\n";
$out .= "Accept-Encoding: gzip, deflate\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; WebMoney Advisor; Pivim Multibar; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n";
$out .= "Host: *******\r\n";
$out .= "Content-Length: 71\r\n";
$out .= "Connection: Keep-Alive\r\n";
$out .= "Cache-Control: no-cache\r\n";
$out .= "Cookie: ****************************\r\n";
$out .= "\r\n";
$out .= "UserName=********&Password=*********&SubmitLogin.x=7&SubmitLogin.y=10";
fwrite($fp, $out);
echo "<pre>";
while (!feof($fp)) {
echo fgets($fp, 128);
}
echo "</pre>";
fclose($fp);
}
?>
Видите? Элементарнейший запрос и работает ужасно... хедер для запроса я взял с IEWatch... Уже не знаю что делать...
И так любые запросы на этот сервер... На что это похоже и, главное, как с этим боротся???
php 5
apache 2.2
WinXP