From 13e2efc62391239e9890e63b61c0501cf92f12f1 Mon Sep 17 00:00:00 2001 From: Hardw01f Date: Tue, 26 May 2020 15:55:51 +0900 Subject: [PATCH 1/5] Update README.md --- Server/README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Server/README.md b/Server/README.md index 27b8f2a..572e856 100644 --- a/Server/README.md +++ b/Server/README.md @@ -1,5 +1,7 @@ # Please write code of simple HTTP(Web) server +write this directory + ## Specification - write by using favorit language @@ -7,3 +9,16 @@ - listen the API '/hi' - return your IP address in Response Body - return 'Hello: BasicHTTP!' Header in Response Header + +## Response Exsample + +``` +HTTP/1.1 200 OK +Hello: BasicHTTP! +Date: Tue, 26 May 2020 06:53:14 GMT +Content-Length: 13 +Content-Type: text/plain; charset=utf-8 + +10.10.11.194 + +``` From 31e27aa92f6a367779d776e4142fe50b9aae70f3 Mon Sep 17 00:00:00 2001 From: Hardw01f Date: Thu, 28 May 2020 00:28:54 +0900 Subject: [PATCH 2/5] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 99b6488..f9f87ac 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Exp3BasicHttp For Labo of Basic HTTP for Exp3 of Univ +Please show Server & Client Directory README.md + ## Setup 1. access 'https://github.com/Hardw01f/Exp3BasicHttp' From 54a664f2ba2198ae7e953450a410ac8d96ad55fa Mon Sep 17 00:00:00 2001 From: Hardw01f Date: Thu, 28 May 2020 00:31:10 +0900 Subject: [PATCH 3/5] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f9f87ac..1f3606e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,11 @@ # Exp3BasicHttp For Labo of Basic HTTP for Exp3 of Univ -Please show Server & Client Directory README.md +## Mission + +1. show Server Directory README.md +2. show Client Directory README.md +2. show Curl.md ## Setup From a88d3e668ea78d277be9c9af84daf5e562d312f9 Mon Sep 17 00:00:00 2001 From: ISSEI510-1217 Date: Thu, 4 Jun 2020 03:59:22 +0900 Subject: [PATCH 4/5] add client.py and server.py and response.txt response.txt is execution result response --- Client/client.py | 14 ++++++++++++++ Server/server.py | 31 +++++++++++++++++++++++++++++++ response.txt | 29 +++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 Client/client.py create mode 100644 Server/server.py create mode 100644 response.txt diff --git a/Client/client.py b/Client/client.py new file mode 100644 index 0000000..f4b4e96 --- /dev/null +++ b/Client/client.py @@ -0,0 +1,14 @@ +import socket + +url = b"http://54.92.28.20/hi/" + +with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + + s.connect(("54.92.28.20", 80)) + + s.send(url) + resp = s.recv(4096) + ip = s.recv(4096) + + print(resp.decode("utf-8")) + print(ip) diff --git a/Server/server.py b/Server/server.py new file mode 100644 index 0000000..7c1d149 --- /dev/null +++ b/Server/server.py @@ -0,0 +1,31 @@ +import socket +import datetime + +dt = datetime.datetime.now() + +host = socket.gethostname() +ip = socket.gethostbyname(host) +print(ip) +url = b"http://54.92.28.20/hi/" +curl_url = "http://54.92.28.20/hi/" + +with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.bind((host, 80)) + s.listen(1) + + while True: + conn, addr = s.accept() + with conn: + while True: + data = conn.recv(1024) + print(data) + + if data == url or curl_url: + print('data : {}, addr: {}'.format(data, addr)) + #conn.sendall(b'Received: ' + data) + conn.send(bytes("HTTP/1.1 200 OK\n" + "Hello: BasicHTTP!\n" + + "Date: Tue, 26 May 2020 06:53:14 GMT\n" + + "Content-Length: 13\n" + "Content-Type: text/plain;", "utf-8\n" + "\n")) + + conn.send(bytes(ip,"utf-8")) + break \ No newline at end of file diff --git a/response.txt b/response.txt new file mode 100644 index 0000000..f8b08a4 --- /dev/null +++ b/response.txt @@ -0,0 +1,29 @@ +#awsのec2にserver.pyを置いて, localとremoteで試したやり方 +e185729% python client.py [~] +HTTP/1.1 200 OK +Hello: BasicHTTP! +Date: Tue, 26 May 2020 06:53:14 GMT +Content-Length: 13 +Content-Type: text/plain; +b'10.10.30.181' +e185729% + +#curlコマンドを叩いて行ったやり方 +e185729% curl -v http://54.92.28.20/hi/ [~] +* Trying 54.92.28.20... +* TCP_NODELAY set +* Connected to 54.92.28.20 (54.92.28.20) port 80 (#0) +> GET /hi/ HTTP/1.1 +> Host: 54.92.28.20 +> User-Agent: curl/7.54.0 +> Accept: */* +> +< HTTP/1.1 200 OK +< Hello: BasicHTTP! +< Date: Tue, 26 May 2020 06:53:14 GMT +< Content-Length: 13 +* transfer closed with 13 bytes remaining to read +* stopped the pause stream! +* Closing connection 0 +curl: (18) transfer closed with 13 bytes remaining to read + From a1226ea5c7b7d48a28cc0b0542d1b6724b9f66bc Mon Sep 17 00:00:00 2001 From: ISSEI510-1217 Date: Wed, 10 Jun 2020 21:14:05 +0900 Subject: [PATCH 5/5] update client.py and server.py --- Client/client.py | 4 ++-- Server/server.py | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Client/client.py b/Client/client.py index f4b4e96..ea3f783 100644 --- a/Client/client.py +++ b/Client/client.py @@ -1,10 +1,10 @@ import socket -url = b"http://54.92.28.20/hi/" +url = b"http://localhost:8080/hi/" with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: - s.connect(("54.92.28.20", 80)) + s.connect(("localhost:8080", 80)) s.send(url) resp = s.recv(4096) diff --git a/Server/server.py b/Server/server.py index 7c1d149..8e67072 100644 --- a/Server/server.py +++ b/Server/server.py @@ -6,8 +6,7 @@ host = socket.gethostname() ip = socket.gethostbyname(host) print(ip) -url = b"http://54.92.28.20/hi/" -curl_url = "http://54.92.28.20/hi/" +url = b"http://localhost:8080/hi/" with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((host, 80)) @@ -20,7 +19,7 @@ data = conn.recv(1024) print(data) - if data == url or curl_url: + if data == url: print('data : {}, addr: {}'.format(data, addr)) #conn.sendall(b'Received: ' + data) conn.send(bytes("HTTP/1.1 200 OK\n" + "Hello: BasicHTTP!\n"