Takker bertel
Men har lige et spørgsmål mere:
Dette program fandt jeg på kandu som du havde lavet:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <sys/socket.h>
#include <fcntl.h>
#include <netdb.h>
#include <errno.h>
#define TIMEOUT 15 /* Sec */
char cmd[1024]; /* Kommando buffer */
char resp[102400]; /* Vores side havner i denne buffer */
void get(char *hostname, int port, char *path)
{
int sd, status, len, ix, tmp;
struct sockaddr local,remote;
struct hostent *hostinfo;
fd_set ReadSet;
struct timeval Time;
/* create socket */
sd = socket(AF_INET, SOCK_STREAM, 0);
if(sd < 0)
{
printf("Error creating socket: %s\\n",strerror(errno));
return;
}
/* bind socket */
local.sa_family = AF_INET;
memset(local.sa_data, 0, sizeof(local.sa_data));
status = bind(sd, &local, sizeof(local));
if(status < 0)
{
printf("Error binding socket: %s\\n",strerror(errno));
close(sd);
return;
}
/* lookup host */
hostinfo = gethostbyname(hostname);
if(!hostinfo)
{
printf("Error looking up host: %s\\n",hostname);
close(sd);
return;
}
/* connect to host */
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(sd, &remote, sizeof(remote));
if(status != 0)
{
printf("Error connecting to host: %s port: %d\\n", hostname, port);
close(sd);
return;
}
/* send GET request */
sprintf(cmd, "GET %s HTTP/1.1\\r\\nHost: %s\\r\\n\\r\\n", path, hostname);
status = send(sd, cmd, strlen(cmd), 0);
if(status < 0)
{
printf("Error sending POST request\\n");
close(sd);
return;
}
/* read response */
ix = 0;
memset(&ReadSet, 0, sizeof(ReadSet));
FD_SET(sd, &ReadSet);
Time.tv_sec = TIMEOUT;
Time.tv_usec = 0;
len = 1;
while(len > 0 && select(sd + 1, &ReadSet, 0, 0, &Time) > 0)
{
len = recv(sd, resp + ix, sizeof(resp) - ix - 1, 0);
ix += len;
Time.tv_sec = TIMEOUT;
Time.tv_usec = 0;
}
resp[ix] = 0;
printf("%s", resp);
close(sd);
return;
}
int main(void)
{
get("www.jubii.dk", 80, "/");
return 0;
}
Til at hente en hjemmeside med men nu er det store spørgsmål ved du hvordan jeg kan få den til at hente kildekode fra underkatogorier på en hjemmeside altså f.eks kan den hente www.udvikleren.dk og udskrive dens html men jeg vil have sådan den f.eks kan hente dennes kildekode
http://www.udvikleren.dk/thread.php?techid=1&f=1&t=822 istedet altså sådan den henter dens html tror du du kan det?