怎样用idhttpserver代替IIS让用户浏览html或下载文件

更多0分享到:
 
 

回复次数:6

关注
SQLDebug_Fan
SQLDebug_Fan
本版等级:

 
 
#1 得分:0回复于: 2011-05-29 15:03:31
你要实现HTTP Server?
关注
cgfhz
国风
本版等级:

 
#2 得分:0回复于: 2011-05-30 08:36:43
看idhttpserver的demo
关注
cicidodo
cicidodo
本版等级:

 
#3 得分:0回复于: 2011-05-30 10:16:47
引用楼主 cicidodo 的回复:

怎样用idhttpserver代替IIS让用户浏览html或下载文件

是的

关注
lahcs
lahcs
本版等级:

 
#4 得分:0回复于: 2011-05-30 10:28:51
Delphi/Pascal code

 

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
const
  WEBROOT = 'C:/www';
var
  RequestDocument:string;
begin
  RequestDocument:=LowerCase(ARequestInfo.Document);
 
  if RequestDocument='/' then
    RequestDocument:='/index.html';
 
  if FileExists(WEBROOT+RequestDocument) then
    begin
      AResponseInfo.ContentStream:=TFileStream.Create(WEBROOT+RequestDocument, fmOpenRead + fmShareDenyWrite);
    end
  else 
    begin
      AResponseInfo.ResponseNo := 404;
    end;
 
  AResponseInfo.Server:='IIS/6.0';
  AResponseInfo.CacheControl:='no-cache';
  AResponseInfo.Pragma:='no-cache';
  AResponseInfo.Date:=Now;
关注
lahcs
lahcs
本版等级:

 
#5 得分:100回复于: 2011-05-30 10:31:06
Delphi/Pascal code

 

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
const
  WEBROOT = 'C:/www';
var
  RequestDocument:string;
begin
  RequestDocument:=LowerCase(ARequestInfo.Document);
 
  if RequestDocument='/' then
    RequestDocument:='/index.html';
 
  if FileExists(WEBROOT+RequestDocument) then
    begin
      AResponseInfo.ContentStream:=TFileStream.Create(WEBROOT+RequestDocument, fmOpenRead + fmShareDenyWrite);
    end
  else 
    begin
      AResponseInfo.ResponseNo := 404;
    end;
 
  AResponseInfo.Server:='IIS/6.0';
  AResponseInfo.CacheControl:='no-cache';
  AResponseInfo.Pragma:='no-cache';
  AResponseInfo.Date:=Now;
 
end;

这段代码的话,应付一般的html网站应该足够了...

关注
cicidodo
cicidodo
本版等级:

 
#6 得分:0回复于: 2011-05-30 11:07:45
引用 4 楼 lahcs 的回复:

Delphi(Pascal) code

procedure TForm1.IdHTTPServer1CommandGet(AThread: TIdPeerThread;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
const
  WEBROOT = 'C:/www';
var
  Reque……

谢谢,太感谢了

怎样用idhttpserver代替IIS让用户浏览html或下载文件 http://bbs.csdn.net/topics/360248674的更多相关文章

  1. Linux中7个用来浏览网页和下载文件的命令

    上一篇文章中,我们提到了rTorrent.wget.cURL.w3m.Elinks等几个有用的工具,很多人回信说还有其它几个类似的工具也值得讨论,所以就有了这篇文章.如果错过了第一部分的讨论,可以通过 ...

  2. Jquery无须浏览实现直接下载文件

    一.常用方式: 1.通常GET方式 后面带明文参数,不安全. window.location.href = 'http://localhost:1188/FileDownload.aspx?token ...

  3. IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”

    Q:IIS发布网站浏览之后看到的是文件目录 A:它出现了一个说到.NET4.0 更高框架什么的错误,所以我将 .NTE CRL版本由4.0改为2.0了,改为2.0后就出现了只能浏览文件目录了.改为4. ...

  4. [代码]--IIS发布网站浏览之后看到的是文件目录 & Internal Server Error 处理程序“ExtensionlessUrlHandler-ISAPI-4.0_64bit”在其模块列表中有一个错误模块“IsapiModule” 解决方法 & App_global.asax.pduxejp_.dll”--“拒绝访问。 ”

    Q:IIS发布网站浏览之后看到的是文件目录 A:它出现了一个说到.NET4.0 更高框架什么的错误,所以我将 .NTE CRL版本由4.0改为2.0了,改为2.0后就出现了只能浏览文件目录了.改为4. ...

  5. <项目><day11>查看用户浏览过的商品

    <项目>查看用户浏览过的商品 1.创建一个entity包储存实体对象 1.1创建一个Product的类存储实体对象 对象具有以下属性,并添加set和get方法,含参和不含参的构造方法,to ...

  6. vue中前进刷新、后退缓存用户浏览数据和浏览位置的实践

    vue中前进刷新.后退缓存用户浏览数据和浏览位置的实践 2018年07月07日 11:58:40 大灰狼的小绵羊哥哥 阅读数:4492   vue中,我们所要实现的一个场景就是: 1.搜索页面==&g ...

  7. Windows 2012 R2上搭建IIS管理用户的隔离模式FTP

    Windows 2012 R2上搭建IIS管理用户的隔离模式FTP Windows自带的FTP现在可以提供基于非OS用户的管理,这提高了安全性.即使FTP用户名和密码泄露,也不会对操作系统造成进一步的 ...

  8. IIS 错误:由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

    HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. 可能是缺少处理程序映射.默认情况 ...

  9. iis添加asp.net网站,访问提示:由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射

    今天在iis服务器配置asp.net网站,遇到一个问题,记录一下: 问题:由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. Windo ...

随机推荐

  1. mysql 小数位

    1    select convert(t/100,decimal(15,2)) as a from user (1) convert() 一.在mysql操作中我们经常需要对数据进行类型转换.此时我 ...

  2. Java学习day11-类的成员之三:构造器(构造方法)

    一.构造器(构造方法) 语法格式: 修饰符 类名(参数列表){ 初始化语句: } 构造器的特征: 1.它具有与类相同的名称 2.它不声明返回值类型.(与声明为void不同) 3.不能被static.f ...

  3. C++之匿名对象与析构函数的关系

    #include <iostream> using namespace std; class Location{ public: Location(, ){ X = xx; Y = yy; ...

  4. 2019牛客暑期多校训练营(第三场) - J - LRU management - 模拟

    https://ac.nowcoder.com/acm/contest/883/J 根据这个数据结构的特点,也就是计算机组成原理里面学过的cache的LRU管理算法,每次访问都会在cache中查询一页 ...

  5. kafka具体解释四:Kafka的设计思想、理念

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/suifeng3051/article/details/37606001      本节主要从总体角度 ...

  6. 帝国CMS链接域名重写、伪静态处理

    需求:将 www.abc.com/e/tags?tagsid=1 改写成  www.abc.com/softlink/1.html形式: 环境:Windows服务器: 路径:D:/web/www.ab ...

  7. ES6——面向对象应用

    面向对象应用——React 特点:     1.组件化(模块化) --- class(一个组件就是一个class)     2.强依赖与JSX (JSX==babel==browser.js  是JS ...

  8. 行人重识别(ReID) ——技术实现及应用场景

    导读 跨镜追踪(Person Re-Identification,简称 ReID)技术是现在计算机视觉研究的热门方向,主要解决跨摄像头跨场景下行人的识别与检索.该技术能够根据行人的穿着.体态.发型等信 ...

  9. 消灭 Java 代码的“坏味道”

    消灭 Java 代码的“坏味道” 原创: 王超 阿里巴巴中间件 昨天 导读 明代王阳明先生在<传习录>谈为学之道时说: 私欲日生,如地上尘,一日不扫,便又有一层.着实用功,便见道无终穷,愈 ...

  10. JS删除对象中的某一属性(delete)

    var obj= {} 1.JS对象添加新属性 obj.address="shenzhen" 2.JS删除对象中的某一属性(delete) var obj= { height: , ...