Порт для fsockopen

  • Автор темы Автор темы MisterX
  • Дата начала Дата начала

MisterX

Guest
Порт для fsockopen

Как можно определить порт на котором висит сайт в случае когда несколько сайтов висят на одном айпишнике ? Пробовал 80 выдает что-то левое с кодом 302 Found, на 8080 вообще нечего не выдается, кроме Bad file descriptor. А как все-таки определить реальный порт ? Перебор не предлагать:) Это мне нужно для посылки post запроса, так что использовать file('http://...') нельзя.
 
Почитай спецификацию HTTP 1.1.

Имя сайта определяется заголовком Host: при виртуальном хочтинге. А порт обычно 80.
 
A через HTTP 1.0 никак ?
А порт 80 только если отдельный IP адрес, что огромная редкость при виртуальном хостинге.
 
Да и еще - нет ли какого-нибудь готового класса или функции, посылающей POST запрос, которая сама определяет порт. Все примеры которые я встречал здесь в форуме и на других сайтах трубуют вводить порт самостоятельно.
 
Автор оригинала: MisterX
А порт 80 только если отдельный IP адрес, что огромная редкость при виртуальном хостинге.
Тебя обманули. Почитай про name-based virtual hosts.
 
2MisterX:
Действительно, при виртуальном хостинге, апачь в частности, разруливает сайты исходя из переменной Server в запросе... А порт всего лишь один - 80.
 
2Kornet:
Т.е. ты хочешь сказать должен работать следующий код
fsockopen('www.hostobzor.ru', 80, &$errorcode);
// запрос GET / ............

Вместо сайта получишь просто ответ от Валуйхоста 302 Found, и никакой странички сайта.
 
MisterX, а ты попробуй запрос GET правильно написать.

ну, хотя бы,
GET http://www.hostobzor.ru/db/ HTTP/1.0
 
Да уж, повнимательней мне надо быть - забыл указать Host: в запросе.
2voodoo: Сомнительно что-бы твой запрос работал - HTTP 1.0 вроде как не поддерживает абсолютные пути.
 
Сверху