Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / сокеты / 9 сообщений из 9, страница 1 из 1
19.11.2004, 20:34
    #32792341
однобитный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сокеты
Здраствуйте, Великие гуру!!!
У меня проблема... Отправляю удал. серваку запрос через сокеты, в ответ получаю 400, т.е. БЭД реквест, хотя запрос правильный, как такое может быть??? Может я чего-то попутал, помогите...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
function test_rem_server_d($a)
{
// IP or URL remote srver
// if return  1  - scaning else return  0  - bad server
$b =  0 ;
$res = "";
$fp = fsockopen($a,  80 );
if(!$fp){
    echo "Unable to open\n";
}
else
{
fputs($fp,"HEAD / HTTP/1.0\n\n");
socket_set_timeout($fp, 2 );
$res = fread($fp,  15 );
fclose($fp);
}
if(preg_match_all("/20[0-4]/i",$res,$matches) >  0 ){$b =  1 ;}
return $b;
}

помогите...
...
Рейтинг: 0 / 0
19.11.2004, 20:49
    #32792350
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сокеты
Разбирайся с сервером, поскольку код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
function test_rem_server_d($a){
  $fp = fsockopen($a,  80 );
  if (!$fp) return 'Unable to open';
  fputs($fp,"HEAD / HTTP/1.0\n\n");
  $res = fgets($fp);
  fclose($fp);
  return $res;
}
echo test_rem_server_d('localhost');
вполне даже работает
...
Рейтинг: 0 / 0
19.11.2004, 20:58
    #32792355
однобитный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сокеты
всегда ответ 400, хоть даже отправляю на karta.tomsk.ru, всё равно ответ 400
...
Рейтинг: 0 / 0
19.11.2004, 21:00
    #32792356
однобитный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сокеты
$res - содержит 400 - это плохо...
...
Рейтинг: 0 / 0
19.11.2004, 22:22
    #32792392
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сокеты
однобитныйвсегда ответ 400, хоть даже отправляю на karta.tomsk.ru, всё равно ответ 400Мой код всегда возвращает
Код: plaintext
HTTP/1.1 200 OK
или, если брать весь отклик, то
Код: plaintext
1.
2.
3.
4.
5.
6.
HTTP/1.1 200 OK
Date: Fri, 19 Nov 2004 19:22:03 GMT
Server: Apache/1.3.28 (Unix) mod_accounting/0.5 PHP/4.3.4RC1
X-Powered-By: PHP/4.3.4RC1
Connection: close
Content-Type: text/html; charset=WINDOWS-1251
Может дело в проксе или файрволле?
...
Рейтинг: 0 / 0
20.11.2004, 11:59
    #32792574
сокеты
файрволла, вроде нету и прокси тоже...
мне тут один гуру сказал, что запрос надо отсылать, как броузер, т.е. вставлять строку, т.е. User-Agent, тогда всё будет работать, как надо. Возможно ли такое???
...
Рейтинг: 0 / 0
20.11.2004, 13:06
    #32792601
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сокеты
"Проксёй" может являться ваш провайдер/хостинг помимо вашей воли. Повторяю ещё раз - у меня HEAD-запрос к указанному вами хостингу проходит на ура (камень в огород вашего гуру, хотя подобное возможно, если это сделано специально владельцем ресурса). Что же касается имитации поведения браузера - то я что-то не припомню, чтобы браузеры отправляли HEAD-запросы, да и судя по тесту
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
if ($_SERVER['REQUEST_METHOD']!=='GET')
  die('MyMethod: '.$_SERVER['REQUEST_METHOD']);
$fp = fsockopen($_SERVER['HTTP_HOST'], 80 );
if (!$fp) die('Unable to open');
fputs($fp,"HEAD {$_SERVER['REQUEST_URI']} HTTP/1.0\nHost: {$_SERVER['HTTP_HOST']}\n\n");
echo '<pre>';
while (!feof($fp)) echo fgets($fp);
echo '</pre>';
fclose($fp);
PHP их ловить не умеет - скорее всего, обработка HEAD-запросов лежит на плечах апача, или это позволяют делать другие серверные скриптовые языки - более подробной информацией я не обладаю.
...
Рейтинг: 0 / 0
20.11.2004, 13:51
    #32792621
сокеты
этот же скрипт из дома запускал - тоже 200, всё нормально, с конторы - 400
Может быть дело в настройках апача... если можно, по-подробнее про это можно???
...
Рейтинг: 0 / 0
20.11.2004, 14:24
    #32792630
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
сокеты
Поподробней вы можете только сами разобраться - остальные же могут лишь гадать на кофейной гуще, поскольку причины поведения не ясны ;)
Попробуйте для начала простой запрос (обычный GET), или же попробуйте подконнектиться к другому серверу.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / сокеты / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]