http_teste.cpp
1.23 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "jsocket.h"
#include "jdatagramsocket.h"
#include <iostream>
#include <stdexcept>
#include <string.h>
using namespace jsocket;
void http_1() {
std::string buffer = "GET / HTTP/1.0\r\n\r\n";
std::string receive;;
try {
Socket c("127.0.0.1", 80);
std::ostream &o = c.GetOutputStream();
std::istream &i = c.GetInputStream();
o << buffer << std::flush;
do {
i >> receive;
std::cout << receive << std::endl;
} while (!i.eof());
do {
i >> receive;
// std::cout << receive << " ";
} while (!i.eof());
c.Close();
} catch (std::runtime_error &e) {
std::cerr << "error: " << e.what() << std::endl;
}
}
void http_2() {
char *buffer = "GET / HTTP/1.0\r\n\r\n";
char receive[4098];
size_t length;
try {
Socket c("127.0.0.1", 80);
c.Send(buffer, strlen(buffer));
do {
length = c.Receive(receive, 4096);
if (length == 0) {
std::cerr << "Host disconnect" << std::endl;
break;
}
receive[length] = '\0';
std::cout << receive << std::flush;
} while (true);
c.Close();
} catch (std::runtime_error &e) {
std::cerr << "error: " << e.what() << std::endl;
}
}
int main()
{
http_2();
}