Python3 Requests Modülü Kullanımı Bölüm: 1

Selamlar, ben asil_ruh bugün Python programlama dilinde HTTP bağlantıları için kullanabileceğimiz en popüler modüllerden olan "requests" modülünden bahsedeceğim...

Selamlar, ben asil_ruh bugün Python programlama dilinde HTTP bağlantıları için kullanabileceğimiz en popüler modüllerden olan "requests" modülünden bahsedeceğim.

Öngereklilikler
1- Temel Python3 bilgisi
2- HTTP protokolü çalışma yapısı hakkında bilgi

1- Kurulum
İlk önce requests modülü varsayılan olarak python kurulumu ile gelmiyor yani ilk önce requests modülünü işletim sistemimize indirmemiz gerekli.
İlgili modülü indirmek için python kurulumu ile gelen pip paket yöneticisini kullanabiliriz.
Bash:
pip install requests

2- Modülü import etmek
İndirdiğimiz modülü kendi yazacağımız python projelerinde kullanmak için modülü projemizde içeri dahil etmemiz gerekli.
Python:
import requests

3- Çıktıları bir variable içerisinde tutmak
Requests modülünden ürettiğimiz çıktıyı genelde bir değişken üzerinde tutarız çünkü sonra bu requests objesinin farklı özelliklerini(değerlerini) ve metotlarını ele alabiliriz.

4- HTTP request ile ilgili temel işlemler
4.1- GET metotu ile istek göndermek:
GET metotu ile istek göndermek için requests modülü içerisindeki get fonksiyonunu kullanabiliriz.
Python:
import requests

httpRequestGET = requests.get("https://spyhackerz.org")
4.2- GET metotlu isteklere GET metotlu veri ekleme(parametre)
GET metotu ile göndereceğimiz HTTP isteklerine veri eklemek için get fonksiyonundaki params fonksiyon parametresine sözlük(dict) objesinde veri gönderebiliriz.

Python:
import requests

httpRequestGETparams = {"parametre1":"değer1", "parametre2":"değer2"}
httpRequestGET = requests.get("https://spyhackerz.org/index.php", params=httpRequestGETparams)
4.2- POST metotu ile istek göndermek:
POST metotu ile bir HTTP isteği göndermek için requests modülü içerisindeki post fonksiyonunu kullanabiliriz.
Python:
import requests

httpRequestPOST = requests.post("https://spyhackerz.org/index.php")

4.4 POST metotlu HTTP isteklerine POST verisi eklemek(data)
POST metotu ile gönderebileceğimiz HTTP isteklerine bir POST verisi eklemek(data) için post fonksiyonundaki data parametresine sözlük objesinde veri girerek POST isteklerimizde bir POST data oluşturmuş oluruz. Genelde POST metotlu istekler gönderirken bir POST verisi göndermek isteriz.
Python:
import requests

myData = {"parametre1":"deger1","parametre2":"deger2", "parametre3":"deger3"}
httpRequestPOST = requests.post("https://spyhackerz.org/index.php", data=myData)

5- HTTP response ile ilgili işlemler:
HTTP isteği göndermek için kullanabileceğimiz fonksiyonlar, parametreler vb.

Gönderdiğimiz HTTP isteğinden dönen HTTP cevabına erişebiliriz.

5.1- HTTP response içindeki tüm HTML tasarıma erişmek
İlgili istek sonucu oluşan objedeki text özelliğinde tüm HTTP response içerisindeki içeriği görebiliriz(HTML tasarım olur genelde ya da JSON, XML çıktısı vb.)
Python:
import requests

myData = {"parametre1":"deger1", "parametre2":"deger2", "parametre3":"deger3"}
httpRequestPOST = requests.post("https://spyhackerz.org/index.php", data=myData)

print(httpRequestPOST.text)

5.2- HTTP response içindeki HTTP Status Code değerine erişmek
İlgili istek sonucu oluşan objedeki status_code özelliğinde istek sonucu oluşan HTTP durum kodu(cevap kodu)(status code) görebiliriz.
Python:
import requests

myData = {"parametre1":"deger1","parametre2":"deger2", "parametre3":"deger3"}
httpRequestPOST = requests.post("https://spyhackerz.org/index.php", data=myData)

print(httpRequestPOST.status_code)

5.3 - HTTP response içersindeki response header'larına erişmek. (HTTP durum/cevap başlıkları)
Bu işlem için oluşturduğumuz requests objesindeki headers özelliğini kullanabiliriz.
Not: Tüm response header'ları sözlük biçiminde tutulmaktadır.
Python:
import requests

myData = {"User-Agent":"asil_ruh v0.0.3"}
httpRequestPOST = requests.post("https://spyhackerz.org/index.php", headers=myData)

print(httpRequestPOST.headers)

6.1- Biraz daha özelleşmiş işlemler
6.1.1: Header ekleme veya varsayılan header'ların içerdiği değerleri değiştirmek
HTTP isteğimize request içerisindeki User-Agent değerini değiştirmek isteyebiliriz.
Bunun için requests içerisindeki fonksiyonumuza headers parametresi verebiliriz.
Python:
import requests

myHeaders = {"User-Agent":"asil_ruh v0.0.3"}
httpRequestGET = requests.get("https://spyhackerz.org/index.php", headers=myHeaders)

6.1.2: HTTP request'i için özel bir cookie ekleme
HTTP isteği içerisine kendimiz cookie eklemek istersen bunu cookies parametresine bir sözlük objesi göndererek fonksiyonumuzu kullanabiliriz.
Buradaki sözlük objesi çerezin parametresini ve değerlerini belirtmelidir.
Python:
import requests

myCookies = {"PHPSESSID":"xyzbilmemne"}
httpRequestPOST = requests.post("https://spyhackerz.org/index.php", cookies=myCookies)

Referans atıfı: https://docs.python-requests.org/en/latest/
 
Son düzenleme:
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl
132,706Konular
3,283,059Mesajlar
317,927Kullanıcılar
Queen 627Son Üye
Üst Alt