Hocalarım selam, herkese iyi forumlar kafamı baya karıştıran bir mevzuda size danışmaya karar verdim.
Mevzu şudurki python yardımıyla aşağıdaki gibi bir HTTP server inşa ettim olabildiğince basit şekilde:
şimdi bu şekilde ben local ağda yukardaki ip yi girdiğimde webe Selam Birader yazısı önüme çıkıyor yani server çalışıyor.
Şimdi bu akışı kendi yazdığım client ile yapmayı deniyeceğim oda aşağıda bıraktığım kodlara sahip:
Bu Client ile de gayet sorunsuz çalışıyor Client e gelen response:
HTTP/1.1 200 OK
Server: Sems Server
Connection: Close
Content-Type: text/html
Selam Birader
Server a gelen istek de:
POST / HTTP/1.1
Host: 192.168.1.41:80
Connection: Close
user-agent: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36
application/x-www-form-urlencoded
Content-Length: 7
lol=lol
Tamam hocalar şimdi diceksiniz ki e oğlum ne istiyorsun her şey tam çalışıyor mükemmel..
Hocalarım benim algılıyamadığım sorun bu Server a POST metodu ile istek yollarken gönderdiğim lol=lol payloadu varya, heh işte onu ben nasıl Serverda işlicem yani bana bu paramatreleri gönderdin sana şunu atıyım tarzında gelen POST requestinin payload kısmını analiz eden bir kod yazmam lazım, yani bütün web sayfaları böyle nede olsa login e doğru kullanıcı ismini ve şifreyi gönderirsin Serverda sana sayfayı atar, sistem böyle işliyor ama bu noktada tıkandım soruyu özetlemek gerekirse:
"Clientin Servara gönderdiği paremetreleri Servar tarafınca algılanmasını sağlamak için nasıl bir yapı kurmam lazım"
Cevaplarınızı sabırsızlıkla bekliyorum, lütfen beni merakta bırakmayın tekrardan herkese iyi forumlar iyi günler dilerim efenim..:bilgili:sırıtan
:
Mevzu şudurki python yardımıyla aşağıdaki gibi bir HTTP server inşa ettim olabildiğince basit şekilde:
Kod:
[COLOR=#d4d4d4][FONT=Consolas][COLOR=#c586c0]import[/COLOR][COLOR=#d4d4d4] socket[/COLOR]
[COLOR=#d4d4d4]HOST = [/COLOR][COLOR=#ce9178]"192.168.1.41"[/COLOR]
[COLOR=#d4d4d4]PORT = [/COLOR][COLOR=#b5cea8]80[/COLOR]
[COLOR=#d4d4d4]s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) [/COLOR]
[COLOR=#d4d4d4]s.bind((HOST, PORT))[/COLOR]
[COLOR=#d4d4d4]http_response = [/COLOR][COLOR=#ce9178]"HTTP/1.1 200 OK[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]Server: Sems Server[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]Connection: Close[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]Content-Type: text/html[/COLOR][COLOR=#d7ba7d]\n\n[/COLOR][COLOR=#ce9178]Selam Birader"[/COLOR]
[COLOR=#d4d4d4]s.listen([/COLOR][COLOR=#b5cea8]2[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]conn, addr = s.accept()[/COLOR]
[COLOR=#c586c0]while[/COLOR][COLOR=#569cd6]True[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4] request = conn.recv([/COLOR][COLOR=#b5cea8]1024[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] request:[/COLOR]
[COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4](request.decode())[/COLOR]
[COLOR=#d4d4d4] conn.send(http_response.encode())[/COLOR]
[COLOR=#d4d4d4] conn.close()[/COLOR]
[COLOR=#c586c0]break[/COLOR]
[/FONT][/COLOR]
Şimdi bu akışı kendi yazdığım client ile yapmayı deniyeceğim oda aşağıda bıraktığım kodlara sahip:
Kod:
[COLOR=#d4d4d4][FONT=Consolas][COLOR=#c586c0]import[/COLOR][COLOR=#d4d4d4] socket[/COLOR]
[COLOR=#d4d4d4]HOST = [/COLOR][COLOR=#ce9178]"192.168.1.41"[/COLOR]
[COLOR=#d4d4d4]PORT = [/COLOR][COLOR=#b5cea8]80[/COLOR]
[COLOR=#d4d4d4]s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) [/COLOR]
[COLOR=#d4d4d4]s.connect((HOST, PORT))[/COLOR]
[COLOR=#d4d4d4]data = [/COLOR][COLOR=#ce9178]"lol=lol"[/COLOR]
[COLOR=#d4d4d4]user_agent = [/COLOR][COLOR=#ce9178]"user-agent: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36"[/COLOR]
[COLOR=#d4d4d4]Content_Lenght = [/COLOR][COLOR=#569cd6]f[/COLOR][COLOR=#ce9178]"Content-Length: [/COLOR][COLOR=#569cd6]{[/COLOR][COLOR=#4ec9b0]str[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#dcdcaa]len[/COLOR][COLOR=#d4d4d4](data))[/COLOR][COLOR=#569cd6]}[/COLOR][COLOR=#ce9178]"[/COLOR]
[COLOR=#d4d4d4]Connection = [/COLOR][COLOR=#ce9178]"Connection: Close"[/COLOR]
[COLOR=#d4d4d4]Content_Type = [/COLOR][COLOR=#ce9178]"application/x-www-form-urlencoded"[/COLOR]
[COLOR=#d4d4d4]request = [/COLOR][COLOR=#569cd6]f[/COLOR][COLOR=#ce9178]"POST / HTTP/1.1[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#ce9178]Host: [/COLOR][COLOR=#569cd6]{[/COLOR][COLOR=#d4d4d4]HOST[/COLOR][COLOR=#569cd6]}[/COLOR][COLOR=#ce9178]:[/COLOR][COLOR=#569cd6]{[/COLOR][COLOR=#d4d4d4]PORT[/COLOR][COLOR=#569cd6]}[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#569cd6]{[/COLOR][COLOR=#d4d4d4]Connection[/COLOR][COLOR=#569cd6]}[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#569cd6]{[/COLOR][COLOR=#d4d4d4]user_agent[/COLOR][COLOR=#569cd6]}[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#569cd6]{[/COLOR][COLOR=#d4d4d4]Content_Type[/COLOR][COLOR=#569cd6]}[/COLOR][COLOR=#d7ba7d]\n[/COLOR][COLOR=#569cd6]{[/COLOR][COLOR=#d4d4d4]Content_Lenght[/COLOR][COLOR=#569cd6]}[/COLOR][COLOR=#d7ba7d]\n\n[/COLOR][COLOR=#569cd6]{[/COLOR][COLOR=#d4d4d4]data[/COLOR][COLOR=#569cd6]}[/COLOR][COLOR=#ce9178]"[/COLOR]
[COLOR=#d4d4d4]s.send(request.encode())[/COLOR]
[/FONT][/COLOR]
HTTP/1.1 200 OK
Server: Sems Server
Connection: Close
Content-Type: text/html
Selam Birader
Server a gelen istek de:
POST / HTTP/1.1
Host: 192.168.1.41:80
Connection: Close
user-agent: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36
application/x-www-form-urlencoded
Content-Length: 7
lol=lol
Tamam hocalar şimdi diceksiniz ki e oğlum ne istiyorsun her şey tam çalışıyor mükemmel..
Hocalarım benim algılıyamadığım sorun bu Server a POST metodu ile istek yollarken gönderdiğim lol=lol payloadu varya, heh işte onu ben nasıl Serverda işlicem yani bana bu paramatreleri gönderdin sana şunu atıyım tarzında gelen POST requestinin payload kısmını analiz eden bir kod yazmam lazım, yani bütün web sayfaları böyle nede olsa login e doğru kullanıcı ismini ve şifreyi gönderirsin Serverda sana sayfayı atar, sistem böyle işliyor ama bu noktada tıkandım soruyu özetlemek gerekirse:
"Clientin Servara gönderdiği paremetreleri Servar tarafınca algılanmasını sağlamak için nasıl bir yapı kurmam lazım"
Cevaplarınızı sabırsızlıkla bekliyorum, lütfen beni merakta bırakmayın tekrardan herkese iyi forumlar iyi günler dilerim efenim..:bilgili:sırıtan
Son düzenleme: