Avatar billede biohazard_666 Nybegynder
06. marts 2004 - 19:04 Der er 6 kommentarer og
1 løsning

Log ind på internet side

Hejsa...

Hvordan kan man logge ind på en internet side med sit program?

Jeg er ved at lave et IP Visnings program med lidt ekstra funktioner.. Hvis man har sagt ja til at man bruger DynDNS tidligere i programmet vil jeg gerne have det så når ens ip er blevet lavet om kommer der en besked (det her har jeg lavet). Så når man har fået en ny ip adresse skal programmet selv logge ind på DynDNS og ændre ens ip i Services (dette er problemet)...
Håber i kan hjælpe.. !
Avatar billede sjh Nybegynder
07. marts 2004 - 02:24 #1
Det her skulle være nok...



'------------------------------ Form1 ------------------------------
Option Explicit

Private Declare Function InternetOpen Lib "wininet" _
                          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 InternetCloseHandle Lib "wininet" ( _
                          ByRef hInet As Long) As Long

Private Declare Function InternetReadFile Lib "wininet" ( _
                          ByVal hFile As Long, _
                          ByVal sBuffer As String, _
                          ByVal lNumBytesToRead As Long, _
                          lNumberOfBytesRead As Long) As Integer

Private Declare Function InternetOpenUrl Lib "wininet" _
                          Alias "InternetOpenUrlA" ( _
                          ByVal hInternetSession As Long, _
                          ByVal lpszUrl As String, _
                          ByVal lpszHeaders As String, _
                          ByVal dwHeadersLength As Long, _
                          ByVal dwFlags As Long, _
                          ByVal dwContext As Long) As Long

Private Sub Form_Load()
Dim hOpen As Long
Dim hFile As Long
Dim strUrl As String
Dim strBuffer As String

Const strName As String = "testnavn"    'Navn minus (dyndns.dk, kyed.com, lir.dk eller yaboo.dk)
Const strDomain As String = "dyndns.dk" 'dyndns.dk, kyed.com, lir.dk eller yaboo.dk
Const strPass As String = "***********" 'Password det ved du nok.

  strUrl = "http://dyndns.dk/opdat.php?name=" & strName & _
                                  "&domain=" & strDomain & _
                                      "&pw=" & strPass & _
                                  "&silent=1"

  hOpen = InternetOpen(vbNullString, 1, vbNullString, vbNullString, 0&)
  hFile = InternetOpenUrl(hOpen, strUrl, vbNullString, ByVal 0&, &H80000000, ByVal 0&)

  strBuffer = Space(1000)
  Call InternetReadFile(hFile, strBuffer, 1000, 0&)

  Call InternetCloseHandle(hFile)
  Call InternetCloseHandle(hOpen)

  MsgBox strBuffer
End Sub
'------------------------------ Form1 ------------------------------
Avatar billede biohazard_666 Nybegynder
07. marts 2004 - 14:37 #2
Det virker :)
Du virker som en der har kendt Visual Basic i Laaaaannnngggg tid ;)
Har du en mail/msn adresse som jeg kan skrive til hvis jeg får andre problemer? :)

<-*-*-*-*-*- SPØRGSMÅL NÆSTEN LUKKET -*-*-*-*-*->
Avatar billede biohazard_666 Nybegynder
07. marts 2004 - 15:00 #3
hmm... Har lige brug for lidt mere hjælp.. Giver gerne 50-60 point mere...

Jeg er ved at lave mit IP visnings program som du nok ved ;)
I starten af programmet skal man vælge om man vil bruge DynDNS funktionen eller ej, hvis man svarer nej eller ja for den sags skyld, skal programmet lave en fil i mappen "Data" (som ligger i app.path) hvor den indeholder nogle data. Hvis man siger nej skal der bare stå "NO DNS" og hvis man svarer ja skal man kunne indtaste nogle data (username, domæne og password). De skal så blive skrevet ind i tekst filen så når mit program checker om man har fået en ny ip, og man har sagt ja til at bruge DynDNS skal programmet gå ind og læse de data man har indtastet og self. sætte den nye IP ind på DynDNS... Jeg vedlægger lige min kode, der er en fejl i. (der hvor den skal logge ind på DynDNS) Den siger: "Constant Expression Required" og peger på min variabel i Username hvor jeg skal indtaste den (i koden)

Dim OldIP As String

Open App.Path & "\data\ip.txt" For Input As #1  ' Abner fil til indlæsning

Dim Linje1 As String 'opretter værdier

    Input #1, Linje1 ' læser linje 1
   
OldIP = Linje1 'Viser Linje 1 i Labelboksen
   
Close #1
If OldIP = sckIP.LocalIP Then
Else
MsgBox "Du har fået tildelt en ny IP adresse! Din nye IP er: " & sckIP.LocalIP

Open App.Path & "\data\ip.txt" For Output As #1 ' Åbner fil til skrivning

    Print #1, sckIP.LocalIP 'Skriver til linje 1

Close #1 ' Lukker filen

Open App.Path & "\data\dyndns.txt" For Input As #1  ' Abner fil til indlæsning

    Input #1, Linje1 ' læser linje 1
   
If Linje1 = "NO DNS" Then
Close #1
GoTo nodns
Else
Close #1

Open App.Path & "\data\dyndns.txt" For Input As #1  ' Abner fil til indlæsning
Dim linje2 As String
Dim linje3 As String

    Input #1, Linje1 ' læser linje 1
          Input #1, linje2 ' læser linje 2
              Input #1, linje3 ' læser linje 3

Close #1
Dim hOpen As Long
Dim hFile As Long
Dim strUrl As String
Dim strBuffer As String

Const strName As String = Linje1    'Navn minus (dyndns.dk, kyed.com, lir.dk eller yaboo.dk) !-- HER SIGER DEN FEJL!! VED LINJE1 --!
Const strDomain As String = linje2 'dyndns.dk, kyed.com, lir.dk eller yaboo.dk
Const strPass As String = linje3 'Password det ved du nok.

  strUrl = "http://dyndns.dk/opdat.php?name=" & strName & _
                                  "&domain=" & strDomain & _
                                      "&pw=" & strPass & _
                                  "&silent=1"

  hOpen = InternetOpen(vbNullString, 1, vbNullString, vbNullString, 0&)
  hFile = InternetOpenUrl(hOpen, strUrl, vbNullString, ByVal 0&, &H80000000, ByVal 0&)

  strBuffer = Space(1000)
  Call InternetReadFile(hFile, strBuffer, 1000, 0&)

  Call InternetCloseHandle(hFile)
  Call InternetCloseHandle(hOpen)

  MsgBox strBuffer
 
End If
End If
Avatar billede biohazard_666 Nybegynder
07. marts 2004 - 15:02 #4
Eller jeg vil gerne give 100 point hvis du kunne lave min kode om til at bruge Access bd i stedet (da jeg kan sætte password på så man ikke bare kan kigge i tekst filen og få fat i personens password)
Avatar billede biohazard_666 Nybegynder
07. marts 2004 - 18:30 #5
bd = db
Avatar billede sjh Nybegynder
09. marts 2004 - 08:46 #6
Fik du det til at virke.. ellers så gør sådan:


'Const strName As String = Linje1    'Navn minus (dyndns.dk, kyed.com, lir.dk eller yaboo.dk) !-- HER SIGER DEN FEJL!! VED LINJE1 --!
'Const strDomain As String = linje2 'dyndns.dk, kyed.com, lir.dk eller yaboo.dk
'Const strPass As String = linje3 'Password det ved du nok.

  strUrl = "http://dyndns.dk/opdat.php?name=" & Linje1 & _
                                  "&domain=" & linje2 & _
                                      "&pw=" & linje3 & _
                                  "&silent=1"
Avatar billede biohazard_666 Nybegynder
09. marts 2004 - 13:42 #7
Hejsa.. Nu virker det... :) Men jeg ville gerne høre om du måske kunne lave det om til at bruge access i stedet for de tekst filer da det ikke er så smart at man bare kan kigge i filerne og så få fat på brugerens password... Du skal nok få nogle point :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester