Avatar billede alex_sleiborg Nybegynder
30. oktober 2006 - 12:28 Der er 4 kommentarer og
1 løsning

Udføre handling på en hjemmeside

Med stofanet (kabel) skal man logge ind, ved hjælp af en hjemmeside. Før man kan komme på internettet. Jeg vil gerne lave et lille program der kan gøre det automatisk. Der eneste man skal gøre på den side er at trykke på en knap. Da brugernavn og password står der i forvejen. Kan man lave sådan et program???
Avatar billede segato Nybegynder
30. oktober 2006 - 12:43 #1
Kan du meget nemt. Du kan gøre det på flere måder. Du kan bruge en klasse der hedder HttpWebrequest som leader en hjemmeside. Endnu nemmere kan du bruge WebBrowser kontrollen hvor du bare kalder funktionen navigate på. Denne vil loade din side. Herefter kan du hive htmlelementer ud og sætte tekst i dem eller klike på dem fra koden af.
Avatar billede slepee Nybegynder
30. oktober 2006 - 13:20 #2
Du kan logge direkte ind på Stofanet's signon-server med telnet og aktivere / deaktivere trafik.
Du kan gøre det med et simpelt script, eller du kan skrive et program med din 'knap' om du vil.
Hvis du stadig har din stofanet manual, kan du se hvordan man gør, på næstsidste side mener jeg. Der findes allerede et program som kan bruges, men jeg har ikke været i stand til at finde det på Stofanet's hjemmeside i et stykke tid.

"telnet 212.10.10.20" -> det må så være op til dig, om du vil bruge sockets eller lave batch-scripts.

Håber det er nok til at du kan komme igang med at kode. :)
Avatar billede alex_sleiborg Nybegynder
30. oktober 2006 - 14:22 #3
Jeg skriver det i c++ så, så har jeg også noget til mit Linux system. Det er i øvrigt ikke 212.10.10.20, men 192.168.30.2 på port 259. Smid svar slepee
Avatar billede slepee Nybegynder
30. oktober 2006 - 14:34 #4
Hvis du laver det til linux findes der allerede bash scripts til netop dette. Kig bl.a. på: http://www.thrysoee.dk/stofanet/
Happy coding :)
Avatar billede alex_sleiborg Nybegynder
30. oktober 2006 - 15:34 #5
Her er der først lige til windows hvis nogen skulle være interesseret, poster også lige en til linux. Når jeg engang lige får mig taget sammen til at lave en:)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <windows.h>
#include <errno.h>

void signon(char *hostname,int port, char *login, char *pass)
{
  FILE *fp;
  int s,status,first,tmp;
  char cmd[512],resp[51200],*k;
  struct sockaddr local,remote;
  struct hostent *hostinfo;
  k = "1";
  s=socket(AF_INET,SOCK_STREAM,0);
  local.sa_family=AF_INET;
  memset(local.sa_data,0,sizeof(local.sa_data));
  status=bind(s,&local,sizeof(local));
  if(status<0)
  {
      printf("Fejl: %s\n",strerror(errno));
      goto end;
  }
  hostinfo=gethostbyname(hostname);
  remote.sa_family=hostinfo->h_addrtype;
  memcpy(remote.sa_data+2,hostinfo->h_addr_list[0],hostinfo->h_length);
  *((short *)remote.sa_data)=port;
  tmp=remote.sa_data[0];
  remote.sa_data[0]=remote.sa_data[1];
  remote.sa_data[1]=tmp;
  status=connect(s,&remote,sizeof(remote));
  if(status!=0)
  {
      printf("Fejl da der skulle forbindes til serveren: %s port: %d\n",hostname,port);
      goto end;
  }
  sprintf(cmd,"%s\r\n%s\r\n%s\r\n",login, pass, k);
  status=send(s,cmd,strlen(cmd),0);
    if(status<0)
    {
      printf("Fejl da der skulle sendes til serveren\n");
      goto end;
    }
    end:
    closesocket(s);
  return;

}
int main()
{
  WSADATA WSAData;
  WSAStartup(0x0101,&WSAData);
  signon("192.168.30.2",259,"signon","password");
  WSACleanup();
  return 0;
}
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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