PDA

Просмотр полной версии : fsockopen()


P3L3NG
06.09.2008, 10:23
$fp = fsockopen("site.ru/$i", 80, $errno, $errstr, 10);

$i - ссылка внутри сайта

получается допустим

site.ru/1.html:80

как сделать, чтобы стало

site.ru:80/1.html

???

Sn@k3
06.09.2008, 10:26
зачем? можно вопрос? ты вкурсе что эта за функция?
как она откроет сокет соединение без порта? т.е. незнаю порта. или тебе для других целей

Kaimi
06.09.2008, 10:28
Возьми пример из мануала и посмотри как...

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>



А твой вариант невозможен впринципе

diehard
06.09.2008, 15:37
$fp = fsockopen("site.ru/$i", 80, $errno, $errstr, 10);

$i - ссылка внутри сайта

получается допустим

site.ru/1.html:80

как сделать, чтобы стало

site.ru:80/1.html

???

Ты напейсал бред, первый параметр при открытии сокета fsockopen() - это хост, нужно указать только "site.ru" без всяких "/$i".
Путь "/$i" указывается в HTTP-запросе, который передается через fputs()

.:EnoT:.
06.09.2008, 16:25
$fp = fsockopen("site.ru/$i", 80, $errno, $errstr, 10);

$i - ссылка внутри сайта

получается допустим

site.ru/1.html:80

как сделать, чтобы стало

site.ru:80/1.html

???
http://site.ru:80 это хост с указанием порта. Так делается если порт подключения отличен от стандартного 80.
Поэтому
<?php
$fp = fsockopen('site.ru', 80, $errno, $errstr, 30);
$heads = "GET /1.html HTTP/1.1\r\n";//или Post
$heads .= ''; //etc
fputs($fp, $heads);
?>

или я не так понял?

Chaak
06.09.2008, 16:42
http://site.ru:80 это хост с указанием порта. Так делается если порт подключения отличен от стандартного 80.
Поэтому
<?php
$fp = fsockopen('site.ru', 80, $errno, $errstr, 30);
$heads = "GET /1.html HTTP/1.1\r\n";//или Post
$heads .= ''; //etc
fputs($fp, $heads);
?>

или я не так понял?
ашибка! В конце заголовков нужно ставить \r\n\r\n

тсу еще надо понимать hello world :)

.:EnoT:.
06.09.2008, 16:52
ашибка! В конце заголовков нужно ставить \r\n\r\n

Не всегда ))

P3L3NG
06.09.2008, 17:34
всем спасибо. не так функцию понял=)