从服务器下载ASP网站源代码如何布置到自己的电脑上发布?
第一步:IIS的安装
A在控制面板中选择“添加/删除程序”,在出现的对话框中选择“添加/删除Windows组件”。
B在出现的复选框中选择安装Internet信息服务(IIS),这一组件约需19MB的空间。
C点击“下一步”,并将Win2000安装光盘放入光驱,安装程序即可将程序文件复制到硬盘中,点击“结束”即可完成。
第二步:IIS中Web服务器的基本配置
IIS中Web服务器的基本配置主要包括如下几部分:
A打开IIS服务器的配置窗口,选择“开始”→“程序”→“管理工具”→“Internet服务管理器”,或者“选择”→“控制面板”→“管理工具”→“Internet服务管理器”也可,打开的窗口。
B在打开的窗口中鼠标右击“默认Web站点”,选择“属性”菜单。
C在出现的“默认Web站点属性”窗口中,选择“主目录”标签,用以设置Web内容在硬盘中的位置,默认目录为“C:\Inetpub\Wwwroot”,你可根据需要自己设置。
D在属性窗口处选择“文档”标签,设置自己默认的首页网页名称,例如“Myfirstwebhtm”,将其添加并移动到列表的最顶端。
E确认默认的Web站点是否已经启动,如果没有可以鼠标右键点击“默认Web站点”,选择“启动”,在打开的IE地址栏中键入本机的IP地址,即可看到自己指定的主页已经开始在Internet上发布了。
这里只是介绍IIS最基本的设置选项,大家还可以按照需要去具体设置上面提到的“默认Web站点属性”,通过它来配置IIS的安全和其他一些参数。
1C语言可以使用CStdioFile函数打开本地文件。使用类CInternetSession 创建并初始化一个Internet打开FTP服务器文件。
CStdioFile继承自CFile,一个CStdioFile 对象代表一个用运行时函数fopen 打开的C 运行时流式文件。
流式文件是被缓冲的,而且可以以文本方式(缺省)或二进制方式打开。文本方式提供对硬回车—换行符对的特殊处理。当你将一个换行符(0x0A)写入一个文本方式的CStdioFile 对象时,字节对(0x0D,0x0A)被发送给该文件。当你读一个文件时,字节对(0x0D,0x0A)被翻译为一个字节(0x0A)。
CStdioFile 不支持Duplicate,LockRange,和UnlockRange 这几个CFile 函数。如果在CStdioFile 中调用了这几个函数,将会出现CNoSupported 异常。
使用类CInternetSession 创建并初始化一个或多个同时的Internet 会话。如果需要,还可描述与代理服务器的连接。
如果Internet连接必须在应用过程中保持着,可创建一个类CWinApp的CInternetSession成员。一旦已建立起Internet 会话,就可调用OpenURL。CInternetSession会通过调用全局函数AfxParseURL来为分析映射URL。无论协议类型如何,CInternetSession 解释URL并管理它。它可处理由URL资源“file://”标志的本地文件的请求。如果传给它的名字是本地文件,OpenURL 将返回一个指向CStdioFile对象的指针。
如果使用OpenURL在Internet服务器上打开一个URL,你可从此处读取信息。如果要执行定位在服务器上的指定的服务(例如,HTTP,FTP或Gopher)行为,必须与此服务器建立适当的连接。
2例程:
#include <winsockh>#include <stdioh>
WORD wVersionRequested;
WSADATA wsaData;
char name[255]; //name里是本机名
CString ip; //本机IP
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 1, 1 );
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa ((struct in_addr )hostinfo->h_addr_list);
}
}
WSACleanup( );
}
// AfxMessageBox(name);//name里是本机名
// AfxMessageBox(ip); //ip中是本机IP
CStdioFile File;
FileOpen("C://iptxt",CFile::modeCreate|CFile::modeReadWrite);
//如果文件事先不存在的话,就需要CFile::modeCreate,否则就不需要。
FileWriteString(ip+":"+"8000");
FileClose(); //注意,这里一定要把文件关闭,否则不能成功上传
CString host="204456711";
CString user="19337";
CString password="1234567";
TRACE(":%s:%s:%s:%s/n", host,
user, password, "C://iptxt");
CInternetSession session
(AfxGetApp()->m_pszAppName);
CFtpConnection pConn = NULL;
pConn = sessionGetFtpConnection (host,user,password);
if (pConn) {
if (!pConn->PutFile("C://iptxt","iptxt"))
{
MessageBox("传送文件失败??");
} else {
MessageBox("传送文件成功!");
}
pConn->Close();
delete pConn;
sessionClose();
} else {
MessageBox("Cannot Connect");
}
在jsp/servlet中断点/多线程下载文件
<%@ page import="javaioFile" %><%@ page import="javaioIOException" %>
<%@ page import="javaioOutputStream" %>
<%@ page import="javaioRandomAccessFile" %>
<%!
public void downloadFile(HttpServletRequest request, HttpServletResponse response, File file) throws IOException {
RandomAccessFile raf = new RandomAccessFile(file, "r");
javaioFileInputStream fis = new javaioFileInputStream(rafgetFD());
responsesetHeader("Server", "wwwtrydonecom");
responsesetHeader("Accept-Ranges", "bytes");
long pos = 0;
long len;
len = raflength();
if (requestgetHeader("Range") != null) {
responsesetStatus(HttpServletResponseSC_PARTIAL_CONTENT);
pos = LongparseLong(requestgetHeader("Range")
replaceAll("bytes=", "")
replaceAll("-", "")
);
}
responsesetHeader("Content-Length", LongtoString(len - pos));
if (pos != 0) {
responsesetHeader("Content-Range", new StringBuffer()
append("bytes ")
append(pos)
append("-")
append(LongtoString(len - 1))
append("/")
append(len)
toString()
);
}
responsesetContentType("application/octet-stream");
responsesetHeader("Content-Disposition", new StringBuffer()
append("attachment;filename=\"")
append(filegetName())
append("\"")toString());
rafseek(pos);
byte[] b = new byte[2048];
int i;
OutputStream outs = responsegetOutputStream();
while ((i = rafread(b)) != -1) {
outswrite(b, 0, i);
}
rafclose();
fisclose();
}
%>
<%
String filePath = requestgetParameter("file");
filePath = applicationgetRealPath(filePath);
File file = new File(filePath);
downloadFile(request, response, file);
%>
你的服务器是什么规范?HTTP?FTP?还是说要顺便写一个服务端出来?
如果是要写服务端的,自己搜索,网上有。
如果是HTTP协议和FTP协议的,java版本的见代码
InputStream ios=new URL("http://19216811/文件bomzip所在的WEB目录/bomzip")openConnection()getInputStream();
BufferedOutputStream bout=new BufferedOutputStream(new FileOutputStream("c:/存放目录/bomzip"));
byte buff[]=new byte[1024];
int count;
while((count=iosread(buff))>0){
boutwrite(buff, 0, count);
}
iosclose();
boutclose();
如果要C的话,用socket做,看一下HTTP协议规范,很简单可以做到文件传输的。
0条评论