» 您尚未 登录   注册 | 社区服务 | 帮助 | 社区 | 无图版


常州五颜六色网络技术有限公司 -> 技术文档 -> asp如何更改ftp密码
 XML   RSS 2.0   WAP 

--> 本页主题: asp如何更改ftp密码 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
吸血狼王




该用户目前不在线
级别: 侠客
精华: 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 顶端

常州五颜六色网络技术有限公司 -> 技术文档



Copyright © 2005-2009 5y6s Inc. 苏ICP备05001866号 Powered by PHPWind 5.0.1
Total 0.019462(s) query 4, Gzip enabled
会员言论不代表本站立场 本站法律顾问:北京汇泽律师事务所 韩律师
QQ:点击这里给我发消息 /点击这里给我发消息 /点击这里给我发消息