HTTP İsteği Oluşturma

139.179.179.3 no'lu IP adresinin 80 no'lu portuna bağlantı kurulup lkd.org.tr veya kamp.linux.org.tr sayfalarını Host başlık değişkeni yardımıyla çağırabiliriz:

Request
telnet 139.179.179.3 80
GET / HTTP/1.1
Host: kamp.linux.org.tr
User-Agent: curl2

Yukarıdaki isteğin yanıtı aşağıdaki gibi olacaktır:

Response Header
HTTP/1.1 301 Moved Permanently
Date: Fri, 02 Aug 2019 14:01:26 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips
Location: https://kamp.linux.org.tr/
Content-Length: 234
Content-Type: text/html; charset=iso-8859-1
Response Body
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://kamp.linux.org.tr/">here</a>.</p>
</body></html>
Connection closed by foreign host.

Bu sefer lkd.org.tr sayfası için istekte bulunursak:

Yukarıdaki işlemleri SSL sayfalar için yapmak istersek nc veya telnet yerine bizim için SSL konuşan bir araca ihtiyaç var. Bunun için openssl veya gnutls kullanılabilir.

Herhangi bir sayfaya openssl ile 443 ssl bağlantısı aşağıdaki gibi kurulabilir:

Bundan sonra yukarıdaki HTTP isteklerini gönderdiğimizde HTTP 400 hata kodu geliyorsa aşağıdaki komut çalıştırılmalı:

Yukardaki komuttan sonra CONNECTED(00000003) geliyorsa bağlantı kurulmuş demektir. Bundan sonra en alt satıra standart HTTP istekleri yapılabilir:

Aynı şekilde Host: lkd.org.tr şeklindeki istek sonucunun gövdesinde (Body) bu sefer html kodlarını görecektik. Tabii bunu da tarayıcı veya bir program yardımıyla anlamdırabiliriz.

Yukarıdaki istekleri curl programı ile de yapmak mümkün. curl sonucunda sayfa html ne varsa onu döndürür. ssl de destekler:

sonucu güzelce html sayfayı getirecektir.

Not: Burada -k parametresini SSL sorununu gidermek için -L parametresini de site yönlendirilmesinin takip edilmesi gerektiği ayarı için verildi.

Last updated