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)