首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
Windows程序
> 详细
delphi idhttpsever
时间:
2016-05-04 21:10:40
阅读:
457
评论:
0
收藏:
0
[点我收藏+]
标签:
http://blog.csdn.net/chelen_jak/article/details/50203809
delphi idhttpsever
2015-12-07 11:36
216人阅读
评论
(0)
收藏
举报
分类:
Web(57)
Delphi(54)
转自:
http://3699119.blog.163.com/blog/static/167075351201373024054586/
[delphi]
view plain
copy
unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent,IdContext ,IdComponent, IdCustomTCPServer, IdCustomHTTPServer,
IdHTTPServer, StdCtrls;
type
TForm_main =
class(TForm)
IdHTTPServer1: TIdHTTPServer;
Button_StartServer: TButton;
Edit_Port: TEdit;
Label1: TLabel;
Label2: TLabel;
Edit_Ip: TEdit;
Button_stop: TButton;
Label3: TLabel;
Edit_RootDir: TEdit;
Edit_index: TEdit;
Label4: TLabel;
procedure Button_StartServerClick(Sender: TObject);
procedure Button_stopClick(Sender: TObject);
procedure IdHTTPServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_main: TForm_main;
implementation
var
RootDir:
string;
URL:
string;
{$R *.dfm}
procedure TForm_main
.Button_StartServerClick(Sender: TObject);
begin
try
IdHTTPServer1
.Bindings
.Clear;
//要绑定的端口,一定设置此项,这是真正要绑定的端口;
IdHTTPServer1
.DefaultPort:=strtoint(trim(edit_port
.Text));
IdHTTPServer1
.Bindings
.Add
.IP := trim(edit_Ip
.Text);
//启动服务器
IdHTTPServer1
.Active := True;
except
showmessage(
‘启动失败!‘);
end;
RootDir:=trim(edit_rootDir
.Text);
URL:=
‘http://‘+trim(edit_Ip
.Text)+trim(edit_port
.Text)+
‘/‘;
end;
procedure TForm_main
.Button_stopClick(Sender: TObject);
begin
IdHTTPServer1
.Active :=
false;
end;
procedure TForm_main
.IdHTTPServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
LFilename:
string;
LPathname:
string;
zhongwen:
string;
begin
//浏览器请求http://127.0.0.1:8008/index.html?a=1&b=2
//ARequestInfo.Document 返回 /index.html
//ARequestInfo.QueryParams 返回 a=1b=2
//ARequestInfo.Params.Values[‘name‘] 接收get,post过来的数据
////webserver发文件
{LFilename := ARequestInfo.Document;
if LFilename = ‘/‘ then
begin
LFilename := ‘/‘+trim(edit_index.Text);
end;
LPathname := RootDir + LFilename;
if FileExists(LPathname) then
begin
AResponseInfo.ContentStream := TFileStream.Create(LPathname, fmOpenRead + fmShareDenyWrite);//发文件
end
else begin
AResponseInfo.ResponseNo := 404;
AResponseInfo.ContentText := ‘找不到‘ + ARequestInfo.Document;
end;}
//发html文件
{AResponseInfo.ContentEncoding:=‘utf-8‘;
AResponseInfo.ContentType :=‘text/html‘;
AResponseInfo.ContentText:=‘<html><body>好</body></html>‘; }
//发xml文件
{AResponseInfo.ContentType :=‘text/xml‘;
AResponseInfo.ContentText:=‘<?xml version="1.0" encoding="utf-8"?>‘
+‘<students>‘
+‘<student sex = "male"><name>‘+AnsiToUtf8(‘陈‘)+‘</name><age>14</age></student>‘
+‘<student sex = "female"><name>bb</name><age>16</age></student>‘
+‘</students>‘;}
//下载文件时,直接从网页打开而没有弹出保存对话框的问题解决
//AResponseInfo.CustomHeaders.Values[‘Content-Disposition‘] :=‘attachment; filename="‘+文件名+‘"‘;
//替换 IIS
{AResponseInfo.Server:=‘IIS/6.0‘;
AResponseInfo.CacheControl:=‘no-cache‘;
AResponseInfo.Pragma:=‘no-cache‘;
AResponseInfo.Date:=Now;}
end;
end.
delphi idhttpsever
标签:
原文地址:http://www.cnblogs.com/delphi-xe5/p/5459682.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
动态 WebApi 引擎使用教程(3行代码完成动态 WebApi 构建)
2021-07-28
windows 查看文件的md5/sha1/sha256
2021-07-28
git windows下换行符问题 LF与CRLF转换
2021-07-27
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。
2021-07-26
K8S--可视化界面Kubernetes Dashboard(API Server方式)
2021-07-26
Redis安装成windows服务
2021-07-26
c#32位支持大内存(>2gb)
2021-07-23
【c#】Dev BarStaticItem问题汇总
2021-07-23
Exception: URL fetch failure on https://s3.amazonaws.com/text-datasets/nietzsche.txt: None -- [WinError 10054] 远程主机强迫关闭了一个现有的连接。
2021-07-22
WinForm使用DataGridView实现类似Excel表格的查找替换
2021-07-22
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!