|
| FTP Connection med Socket.TCP Fra : Anders |
Dato : 20-11-02 20:35 |
|
Hvorfor virker nedenstående kode ikke, den skriver bare følgende, men kommer
ikke med listen over hvad der ligger i mappen:
220 Serv-U FTP Server v4.0 for WinSock ready...
331 User name okay, need password.
230 User logged in, proceed.
200 Type set to A.
150 Opening ASCII mode data connection for /bin/ls.
226 Transfer complete.
221 Goodbye!
<pre>
<%
on error resume next
Set objSocket = Server.CreateObject("Socket.TCP")
objSocket.Host = "127.0.0.1:21"
objSocket.Open
objSocket.TimeOut = 5000
objSocket.SendLine("USER admin")
objSocket.SendLine("PASS mitpassword")
objSocket.SendLine("TYPE A")
objSocket.SendLine("LIST")
objSocket.WaitFor(VbCrLf)
objSocket.SendLine("QUIT")
objSocket.WaitForDisconnect
tmpBuffer = objSocket.Buffer
Response.Write tmpBuffer
objSocket.Close
if err.number <> 0 then
response.write "<br><br><b>Error:</b><br>" & err.number & ": " &
err.description & "<br>"
err.clear
end if
%>
</pre>
Mvh. Anders
| |
Lars Hoffmann (22-11-2002)
| Kommentar Fra : Lars Hoffmann |
Dato : 22-11-02 10:33 |
|
"Anders" <Anders@no-mail.com> escribió en el mensaje
news:argo8d$981$1@sunsite.dk...
> Hvorfor virker nedenstående kode ikke, den skriver bare følgende,
men kommer
> ikke med listen over hvad der ligger i mappen:
>
> 220 Serv-U FTP Server v4.0 for WinSock ready...
> 331 User name okay, need password.
> 230 User logged in, proceed.
> 200 Type set to A.
> 150 Opening ASCII mode data connection for /bin/ls.
> 226 Transfer complete.
> 221 Goodbye!
Fordi listen sendes på en anden port. Du skal have gang i to sockest
på samme tid. Det nemmeste er at bede serveren om at gå i passive
mode, hvortil den svarer med et portnummer, du skal så sætte den
anden socket til at lytte på dette portnummer og vupti, det er der
listen dukker op.
Med venlig hilsen
Lars Hoffmann
| |
Anders (23-11-2002)
| Kommentar Fra : Anders |
Dato : 23-11-02 17:08 |
|
"Lars Hoffmann" <lars@intercambiodvd.com> skrev
> > Hvorfor virker nedenstående kode ikke, den skriver bare følgende,
> > men kommer ikke med listen over hvad der ligger i mappen:
> >
> > 220 Serv-U FTP Server v4.0 for WinSock ready...
> > 331 User name okay, need password.
> > 230 User logged in, proceed.
> > 200 Type set to A.
> > 150 Opening ASCII mode data connection for /bin/ls.
> > 226 Transfer complete.
> > 221 Goodbye!
>
> Fordi listen sendes på en anden port. Du skal have gang i to sockest
> på samme tid. Det nemmeste er at bede serveren om at gå i passive
> mode, hvortil den svarer med et portnummer, du skal så sætte den
> anden socket til at lytte på dette portnummer og vupti, det er der
> listen dukker op.
Jeg har lige prøvet at installere et program på min computer og jeg kan se
at den sender listen over port 20 selvom ftp-serveren kører på port 21, så
for mig ser det ikke ud som om det er nok bare at skifte til Passive Mode,
ved at bruge koden:
objSocket.SendLine("PASV")
objSocket.WaitFor(VbCrLf)
Mvh. Anders
| |
|
|