Forum Webscript.Ru
Программирование => PHP => Тема начата: F.A.K.K.2 от 16 Мая 2003, 14:33:05
-
Люди, кто нить может мне объяснить что такое сокеты и счем их едят?
Или где про них почитать? А то в поисковиках сокеты на Перле объясняют...
-
сокет - это комбинация IP адреса и номера порта, которая однозначно определяет отдельный сетевой процесс в Сети.
Два сокета, один для хоста-получателя, другой для хоста-отправителя, определяют соединение для протоколов, ориентированных на установление связи, таких, как TCP и иже с ним....
и т.д.
-
Можно сказать что сокет это стандартный поток (в unix как обычный файл). Если говорить грубо, обеспечивает передачу сообщение от одного узла к другому.
Я бы тебе посоветовал msdn почитать. Язык реализации не имеет значения...
-
Спасибо всем.
Не могли бы вы подсказать, чем можно просмотреть что браузер шлет серверу и что тот отвечает?
-
Есть такая программа - HTTP Interceptor.
Вот она тебе все заголовки покажет и все данные в Raw виде (как есть).
А ещё лучше почитать RFC на эту тему.
-
Спасибо всем!
Люди, я вот решил применить знания выдранные с помощью Interceptor.
$url = parse_url("http://www.shevahmofet.org");
$fp = fsockopen ($url["host"], 80, $errno, $errstr, 30);
$header=\'GET / HTTP/1.0\\r\\n
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-gsarcade-launch, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\\r\\n
Accept-Language: en-us\\r\\n
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)\\r\\n
Host: http://www.shevahmofet.org\\r\\n
Connection: Close\\r\\n\\r\\n\';
fputs($fp, $header);
$buffer = "";
while (!feof($fp)) {
$buffer=fgets ($fp, 2048);
}
fclose($fp);
Команды HTTP изъяты их Internet Explorer.
Но этот скрипт стопорится на чтении ответа сервера: $buffer=fgets ($fp, 2048);
Просто ждет, ждет, а потом вылетает с сообщением что скрипт слишком долго работал:(
В чем проблема?
Я так думаю, я не правильные команды шлю, хотя вроде у IE это получается.
Благодарю за ответы
-
$header = \'...\' замени на $header = "..."
Одинарные кавычки не ловят спецсимволы типа \\n и \\r
Ещё, в Accept поставь просто */* если не знаешь, зачем он нужен. Или вообще его убери.
Connection: Close можешь убрать.
-
FreeSpace
БААльшое спасибо!!!!!:)
Ты меня спас!
-
Помогите ещё раз:)
При запросе POST в каком месте я отсылаю сами данные.
т.е.
POST /check.pl HTTP/1.0\\r\\n
куда я вставляю строку:
name=aaa&psw=bbb ?
Сразу после POST или в самом конце хедера?
-
POST тем и отличается, что нет там такой строки. Переменные передаются в таком виде:
var1=value1
var2=value2
....
varN=valueN
Фактически формат POST имеет стандартный вид:
Начальная строка
Заголовок1
...
Заголовок2
CR LF
Тело сообщения
POST /sql.exe HTTP/1.0
Content-Type: text/html
Content-Lenght: n bytes
SELECET * FROM TABLE