Комментарии к статье ""
3.4.2001 13:18 Дмитрий [] Вообще-то, ф-ция header добалвяет запись в заголовок ответа web сервера клиенту, а не в заголовок запроса... Ответ Antonio: Да, действительно так :-) Сорри за очепятку. Был не прав, вспылил. |
30.5.2001 14:03 Elina Zverinskaia [] Добрый день! Меня мучает вот какой вопрос. По адресу http://webde-ag.de/de/presseservice/bildarchiv/a+Das+WEB.DE+logo.htm сделано вот что: когда я хочу скачать tiff-файл в Netscape, то независимо от настройки Preferences для типа tiff "Ask me before opening downloaded files of this type" при нажатии на ссылку tif не возникает окно для выбора открыть или сохранить, а сразу выскакивает окно для сохранения. Как это сделано? С помощью HTTP? Нужно это вот для чего. Если у пользователя не установлен выше упомянутый флажок и нет программы для показа tiff-файлов, то если в HTML ставить просто href=file.tiff, то вылезает ошибка, будто файла нет на сервере. Ответ DL: По-моему, вы смешиваете разные вещи. С помощью HTTP установить, что делать броузеру - сохранить или открыть файл - нельзя. Всё дело в самом броузере. Если он имеет плагин для tiff то может предложить открыть. Если в системе есть программа, приписанная к расширению tiff, тоже будет предложено открыть файл. Например, когда вы нажимаете на ссылку к mp3-файлу, вам предлагается открыть его "оттуда" (на самом деле, файл будет так же скачан, но сохранён в кэше броузера). При чём тут http и "<a href=", не знаю. |
3.7.2001 05:48 Abracadab.Rus [] С помощью эмулирования запроса браузера я пытаюсь заставить сервер делать то, что он делает из окна браузера. Этого возможно добиться? Я не понял что значит "Cookie: income=1rn", как мне отправить на сервер свой кук? Что SetCookie() использовать? Ответ DL: Как написано, так и использовать: в запросе писать строку "Cookie: имя=значение" |
24.7.2001 18:39 Alexander Здесь жаловались на нехватку примеров. Вот один из примеров, взятый с www.phpbuilder.com // Set this to "1" to run a demonstration of this library. $show_example=0; ###################### ORIGINAL AUTHOR'S HEADER: // simple post method // version 1.0 by Andrus (andrus@vnet.ee) // Disclaimer: // everyone can change or use this code however and wherever they want ;) ###################### MY HEADER (Benjamin Smith) /* I like the "share and share alike" philosophy - so this modified library is distributed under the LGPL. If you use this, and make any improvements, you need to publish this in the shared code library on www.phpbuilder.com - Benjamin Smith (bens_nospam@benjamindsmith.com */ // send out "browser" headers function post_send_headers ($fp) { fputs ($fp, "Accept: */*n"); fputs ($fp, "Accept-Language: enn"); fputs ($fp, "Connection: Keep-Aliven"); fputs ($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)n"); } // post data and return reply function post_data ($host, $url, $data, $port=80) { // INPUT VALIDATION: if (strlen($host) return false; if (strlen($url) return false; if ((!is_array($data)) sizeof($data) return false; $fp = @fsockopen ($host, $port, $errno, $errstr, 120); $ret = ""; //if (strncasecmp ($url, "http://", 7) == 0) $url = substr ($url, 7); $req = substr ($url, $p); if ($fp) { fputs ($fp, "POST $req HTTP/1.0n"); post_send_headers ($fp); fputs ($fp, "Content-type: application/x-www-form-urlencodedn"); $out = ""; while (list ($k, $v) = each ($data)) { if(strlen($out) != 0) $out .= "&"; $out .= rawurlencode($k). "=" .rawurlencode($v); } $out = trim ($out); fputs ($fp, "Content-length: ".strlen($out)."nn"); fputs ($fp, "$out"); fputs ($fp, "n"); while(!feof($fp)) { $ret .= fgets($fp,128); } fclose ($fp); } return $ret; } // example how to use: if ($show_example!=1) { // do nothing. } elseif (is_array($HTTP_POST_VARS) && sizeof ($HTTP_POST_VARS)>0) echo "IT WORKED! YOU ENTERED $var"; else { $host='localhost'; $form='/sendform.php'; $pass=array( 'var' => 'some stuff' ); echo $reply=post_data($host, $form, $pass); } ?> |