一段程序

zcm123 2004-08-17 02:23:38
大家帮忙看看为何总是执行不出我想要的结果啊!
ftp用户给的是管理员的权限

当进行修改时,总是显示修改密码失败
====================
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 & " " & newPASSWORD

strCmd = "pwd"
'建立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)
Debug.Print hConnection
If hConnection <> 0 Then
bret = FtpCommand(hConnection, False, FTP_TRANSFER_TYPE_ASCII, strCmd, 0, hFile)
Debug.Print bret
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



...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcm123 2004-08-17
  • 打赏
  • 举报
回复
http://www.trixar.com/~makai/ftpcm1.htm
大家帮忙看看这段代码是做什么的阿?
zcm123 2004-08-17
  • 打赏
  • 举报
回复
上面的代码并促存在语法或逻辑问题

这是调用
Dim obj As New Class1

Private Sub Command1_Click()
Dim r
obj.user = Text1
obj.oldPSD = Text2
obj.newPSD = Text3
obj.URL = Text4
rr = obj.getStr()
MsgBox rr
Set obj = Nothing
End Sub

Private Sub Form_Load()
Set obj = New Class1
End Sub

Private Sub Text4_GotFocus()
Text4 = "192.168.0.167"
End Sub
在什么都输入正常的情况下显示密码修改无效 我上网上查了查,上面说是用户权限不够
于是我把权限提升到管理员权限,可还是不行
sitako 2004-08-17
  • 打赏
  • 举报
回复
我来学习的~
zcm123 2004-08-17
  • 打赏
  • 举报
回复
发错了
重发
大家帮忙看看为何总是执行不出我想要的结果啊!
ftp用户给的是管理员的权限

当进行修改时,总是显示修改密码失败
====================
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 & " " & 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)
Debug.Print hConnection
If hConnection <> 0 Then
bret = FtpCommand(hConnection, False, FTP_TRANSFER_TYPE_ASCII, strCmd, 0, hFile)
Debug.Print bret
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




742

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧