Python - HTTP İstemcisi
Http protokolünde, istemciden gelen istek sunucuya ulaşır ve geçerli bir istek olduğunu varsayarak bazı verileri ve meta verileri alır. Python istek modülünde bulunan çeşitli işlevleri kullanarak sunucudan gelen bu yanıtı analiz edebiliriz. Burada aşağıdaki python programları istemci tarafında çalışır ve sunucu tarafından gönderilen yanıtın sonucunu gösterir.
İlk Yanıtı Al
Aşağıdaki programda istek modülünden alma yöntemi veriyi bir sunucudan alır ve düz metin biçiminde yazdırılır.
import requests
r = requests.get('https://httpbin.org/')
print(r.text)[:200]
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -
<!DOCTYPE html >
<html lang="en">
<head>
<meta charset="UTF-8">
<title>httpbin.org</title>
<link
href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+
Oturum Nesnesi Yanıtı Al
Session nesnesi, istekler arasında belirli parametreleri korumanıza izin verir. Ayrıca, Oturum örneğinden yapılan tüm isteklerde çerezleri de korur. Aynı ana bilgisayara birkaç istekte bulunuyorsanız, temeldeki TCP bağlantısı yeniden kullanılacaktır.
import requests
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/31251425')
r = s.get('http://httpbin.org/cookies')
print(r.text)
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -
{"cookies":{"sessioncookie":"31251425"}}
Hata İşleme
İsteğin sunucu tarafından işlenmesindeki sorun nedeniyle bir hata ortaya çıktığında, python programı aşağıda gösterildiği gibi zaman aşımı parametresini kullanarak ortaya çıkan istisnayı incelikle işleyebilir. Program, zaman aşımı hatasının tanımlı değerini bekleyecek ve ardından zaman aşımı hatasını artıracaktır.
requests.get('http://github.com', timeout=10.001)