05. juni 1999 - 20:46Der er
23 kommentarer og 1 løsning
FTP via Inet object?
Jeg bruger Inet som værktøj når jeg overflytter filer til mit domnæne, og det virker fint, men da jeg skulle prøve det samme på en anden server, virkede det ikke (Pi Web), er der noget specielt man skal tænke på for at få den til at virke på alle servere, er der en der kender valideringsreglerne for objectet?
Public Sub FTP_Dir(Optional LstBx As ListBox, Optional Tekst As Object) On Error Resume Next With inet1 Do While .StillExecuting = True DoEvents Loop .Execute , "DIR" If .ResponseCode > 0 Then If Not IsNull(Tekst) Then Tekst = .ResponseCode & ":" & .ResponseInfo End If Do While .StillExecuting = True DoEvents Loop If .ResponseCode > 0 Then If Not IsNull(Tekst) Then Tekst = .ResponseCode & ":" & .ResponseInfo End If If Not IsNull(LstBx) Then PutTxtList .GetChunk(1024, 0), LstBx, True End With end sub
Prøv at ændre protocol til noget andet, jeg kan ikke selv lige prøve det da VB påstår jeg ikke har den rigtige licens til hvilket jeg har, da jeg bruger VB Proff.
Undskyld jeg først svarer nu, men jeg har haft travlt! Jeg har prøvet alle protokoller, men måske er der noget specifikt jeg har glemt. Jeg har prøvet med de samme instillinger i WS_FTP (Url, pasword, username) og her virker det, så hvorfor gør det ikke i VB, har det noget med udbyderen at gøre måske???
Har du husket at sætte den variabel der afgører hvilken protocol du overfører med ?? (mine erfaringer med VB5, siger nemlig at den skal have afvide om det er FTP, mit prog. virkede fint med http, gopher og de andre, men ikke ftp, medmindre jeg bad den om ren FTP)
bkp >> "hedder det jo ftp://" (citat) Det gør det faktiskt ikke altid, mener også at have læst der er forskel på det, det kan jo også have noget med porten at gøre, ellers bliver du nødt til at sende noget meere kode
Her kommer hele smøren men der er meget, og kontrollen Inet1 har jeg kaldt FTP istedet:
Public Function FTP_Travlt() As Boolean FTP_Travlt = FTP.StillExecuting End Function
Private Sub FTP_StateChanged(ByVal State As Integer) ' Retrieve server response using the GetChunk ' method when State = 12. This example assumes the ' data is text. On Error Resume Next Select Case State ' ... Other cases not shown. Case icResponseReceived ' 12 Dim vtData As Variant ' Data variable. Dim strData As String: strData = "" Dim bDone As Boolean: bDone = False ' Get first chunk. vtData = FTP.GetChunk(1024, icString) DoEvents Do While Not bDone strData = strData & vtData DoEvents ' Get next chunk. vtData = FTP.GetChunk(1024, icString) If Len(vtData) = 0 Then bDone = True End If Loop TxtObject = strData End Select End Sub
Public Sub FTP_0_ProtokolType(Optional ByVal Proto As ProtocolConstants = icFTP) FTP.Protocol = Proto End Sub
Public Sub FTP_1Url(ByVal Url As String) FTP.Url = Url End Sub
Public Sub FTP_2UserName(ByVal USName As String) FTP.username = USName End Sub
Public Sub FTP_3Password(ByVal USPassword) FTP.password = USPassword End Sub
Public Sub FTP_Dir(Optional LstBx As ListBox, Optional Tekst As Object) On Error Resume Next With FTP Do While .StillExecuting = True DoEvents Loop .Execute , "DIR" If .ResponseCode > 0 Then If Not IsNull(Tekst) Then Tekst = .ResponseCode & ":" & .ResponseInfo End If Do While .StillExecuting = True DoEvents Loop If .ResponseCode > 0 Then If Not IsNull(Tekst) Then Tekst = .ResponseCode & ":" & .ResponseInfo End If If Not IsNull(LstBx) Then PutTxtList .GetChunk(1024, 0), LstBx, True End With End Sub Public Sub FTP_Send(FilBib As String, Filnavn As String, Optional NyNavn As String = "", Optional LstBx As ListBox, Optional Tekst As Object) On Error Resume Next Dim Fil If Not Right(FilBib, 1) = "\" Then FilBib = FilBib & "\" With FTP Do While .StillExecuting = True 'Doevents Loop If Not Dir(FilBib & Filnavn) > "" Then MsgBox "Filen " & FilBib & Filnavn & " eksisterer ikke!" Exit Sub End If If NyNavn = "" Then NyNavn = Filnavn .Execute , "SEND " & FilBib & Filnavn & " /" & NyNavn If .ResponseCode > 0 Then If Not IsNull(Tekst) Then Tekst = .ResponseCode & ":" & .ResponseInfo End If Do While .StillExecuting = True DoEvents Loop If .ResponseCode > 0 Then If Not IsNull(Tekst) Then Tekst = .ResponseCode & ":" & .ResponseInfo End If If Not IsNull(LstBx) Then PutTxtList .GetChunk(1024, 0), LstBx, True End With End Sub Public Sub FTP_HentFil(Filnavn As String, TilBib As String, Optional LstBx As ListBox, Optional Tekst As Object) On Error Resume Next If Not Right(TilBib, 1) = "\" Then TilBib = TilBib & "\" With FTP Do While .StillExecuting = True 'Doevents Loop
.Execute , "GET " & Filnavn & " " & TilBib & Filnavn If .ResponseCode > 0 Then If Not IsNull(Tekst) Then Tekst = .ResponseCode & ":" & .ResponseInfo End If
Do While .StillExecuting = True DoEvents Loop If .ResponseCode > 0 Then If Not IsNull(Tekst) Then Tekst = .ResponseCode & ":" & .ResponseInfo End If If Not IsNull(LstBx) Then PutTxtList .GetChunk(1024, 0), LstBx, True End With End Sub
For lige at så fast hvad ftp:// betyder: Det er det der angiver protokollen. Dvs porten som der skal bruges. Derefter kommer domainet. Som kan bestå af subdomains osv, hvilket alt foran et domain er.
Hej allesammen. Dette spørgsmål vil nu blive lukket, da der ikke er nogen forklaring på hvorfor PI Web ikke virker, alle andre domæner virker nemlig fint!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.