Ik heb uit een tutorial voor Winsock programming het volgende geplukt en aangepast:
De bedoeling is dus dat de source van een webpagina wordt gelezen. Dit werkt wel (min of meer), maar de output is niet betrouwbaar. Wat klopt hier niet?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| //
// Winsock testprogramma
//
#include <windows.h>
#include <stdio.h>
#define RECVBUF 1024
// Declaraties
WSADATA ws;
int d;
char aa[RECVBUF];
struct sockaddr_in a;
SOCKET s;
int ii;
// Routine om source van website te lezen
void readweb(char*, int);
// Main routine
main()
{
readweb("213.10.55.124", 80);
printf("\n\n-= EOF! =-\n");
getchar();
}
// Routine om source van website te lezen
void readweb(char* ADDR, int PORT)
{
d = WSAStartup(0x101,&ws);
printf("WSASTARTUP = %d\n", d);
s = socket(AF_INET,SOCK_STREAM,0);
printf("SOCKET = %d\n", s);
a.sin_family = AF_INET;
a.sin_port = htons(PORT);
a.sin_addr.s_addr = inet_addr(ADDR);
d = connect(s, (struct sockaddr *)&a, sizeof( a));
strcpy(aa,"GET / \r\n");
strcat(aa,"HTTP 1.0 \r\n\r\n");
send(s,aa,sizeof(aa),0);
printf("\n\n");
ii = 1;
while (ii != 0)
{
ii = recv(s,aa,RECVBUF,0);
printf("%s", aa);
}
} |
De bedoeling is dus dat de source van een webpagina wordt gelezen. Dit werkt wel (min of meer), maar de output is niet betrouwbaar. Wat klopt hier niet?