吸血狼王
级别: 侠客
精华:
0
发帖: 82
威望: 0 点
金钱: 180 RMB
贡献值: 0 点
在线时间:19(小时)
注册时间:2006-10-07
最后登录:2007-01-04
|
asp如何更改ftp密码
新建一《SERV-U》FTP服务器,在ASP中修改指定帐户的密码,写了一ASP组件来修改《SERV—U》 FTP密码。 启动《Vb6.0》,选择新建ActiveX DLL,更改工程属性中的工程名称为“Ftpcommand”,将CLASS名改为XJNFTP,源程序如下:
Private Const scUserAgent = "vb wininet" Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0 Private Const INTERNET_OPEN_TYPE_DIRECT = 1 Private Const INTERNET_OPEN_TYPE_PROXY = 3 Private Const INTERNET_INVALID_PORT_NUMBER = 0 Private Const FTP_TRANSFER_TYPE_BINARY = &H2 Private Const FTP_TRANSFER_TYPE_ASCII = &H1 Private Const INTERNET_FLAG_PASSIVE = &H8000000 Private Const INTERNET_SERVICE_FTP = 1 Private Const INTERNET_SERVICE_GOPHER = 2 Private Const INTERNET_SERVICE_HTTP = 3 Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _ (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _ ByVal sProxyBypass As String, ByVal lFlags As Long) As Long Private Declare Function FtpCommand Lib "wininet.dll" Alias "FtpCommandA" _ (ByVal hConnect As Long, ByVal fExpectResponse As Boolean, ByVal dwFlags As Long, _ ByVal lpszCommand As String, ByVal lContext As Long, phFtpCommand As Long) As Boolean Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" _ (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, _ ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Long, _ ByVal lFlags As Long, ByVal lContext As Long) As Long Private hOpen As Long Private hConnection As Long Private Declare Function InternetCloseHandle Lib "wininet.dll" _ (ByVal hInet As Long) As Integer Private newPASSWORD As String Private oldPASSWORD As String Private userName As String Private URLSTR As String
‘修改FTP密码主程序 Public Function getStr() As String hOpen = 0 hConnection = 0 Dim nFlag As Long Dim strCmd As String nFlag = INTERNET_FLAG_PASSIVE ‘建立FTP修改密码命令字符串 strCmd = "SITE PSWD " & oldPASSWORD & Space(1) & newPASSWORD ‘建立internet连接 hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0) If hOpen = 0 Then getStr = "不能打开连接。..." If hOpen <> 0 Then ‘与FTP服务器建立连接 hConnection = InternetConnect(hOpen, URLSTR, NTERNET_INVALID_PORT_NUMBER, _ userName, oldPASSWORD, INTERNET_SERVICE_FTP, nFlag, 0) If hConnection <> 0 Then bret = FtpCommand(hConnection, False, FTP_TRANSFER_TYPE_ASCII, strCmd, 0, hFile) If bret Then getStr = "密码修改成功!..." Else getStr = "密码修改失败!..." End If Else getStr = "无法登录至FTP服务器,请检查帐户名或密码是否正确。" End If End If ‘断开internet连接 If hConnection <> 0 Then InternetCloseHandle (hConnection) ‘断开FTP服务器连接 If hOpen <> 0 Then InternetCloseHandle (hOpen) End Function ‘传入FTP服务器的URL Public Property Let URL(URL1 As String) URLSTR = URL1 End Property
‘传入FTP原有密码 Public Property Let oldPSD(psd As String) oldPASSWORD = psd End Property
‘传入FTP新密码 Public Property Let newPSD(psd1 As String) newPASSWORD = psd1 End Property
‘传入FTP帐户名 Public Property Let user(psd2 As String) userName = psd2 End Property
编译成Ftpcommand.DLL,在ASP服务器端注册该组件,(VB6.0在ASP服务器中自动注册),在ASP中调用该组件,源程序如下: <% ‘接受传入的帐户名 user=trim(request.form("id")) ‘接受传入的原密码 psw=trim(request.form("password")) ‘接受传入的新密码 pswx=trim(request.form("passwordx")) ‘创建FTP组件应用实例 Dim obj Set obj = Server.CreateObject("ftpcommand.xjnftp") ‘给FTP组件传送帐户名 obj.user=user ‘给FTP组件传送原密码 obj.oldpsd=psw ‘给FTP组件传送新密码 obj.newpsd=pswx ‘给FTP组件传送FTP服务器域名地址(URL) obj.url="ftp://ftp.luckybbs.com" rr=obj.getstr() Response.Write("<meta HTTP-EQUIV=REFRESH CONTENT=3;URL=/main.asp>") Response.Write("<p><center><font color=#ff0000>"+rr+"!") Response.Write("<center><font color=#ff0000>系统3秒钟后自动返回!!!</font></center>") Response.Write("<br><center><a href=main.asp>返回</a></center>") set obj=nothing response.end %>
本实例在WINDOWS 2000 SERVER ,IIS 5.0 ,SERV-U4.0 ,VB6.0中通过。
[ 此贴被阿七在2007-09-15 14:12重新编辑 ]
|
常州五颜六色网络技术有限公司(5y6s Inc.) 常州网站建设 常州网站设计 常州网页设计
常州本地服务器托管:电信1000M共享/网通100M共享/电信+网通双线路
Tel:0519-6605212(公司)
|
[楼 主]
|
Posted: 2006-12-09 23:11 |
| |