Python - İleri Seviye Python

Request POST Methodu

Yayın tarihi :14-Ara-21
Bölüm kodlarını ve/veya veri setlerini indir.

Request POST Methodu, ile canlı bir sunucuya istenilen şekilde veri gönderme işlemleri yapılmaktadır. Bunun için request modülünün içe aktarılması gerekmektedir.

import requests

Örnek-1:

https://image-charts.com/chart web sitesine veriler post edilerek grafik çıktısı alınmaktadır. Bizde basit olarak aşağıdaki pattern içersinde bulunan verileri göndererek çıktı alalım.

postUrl="https://image-charts.com/chart"
pattern={
    "chs":"700x190",
    "chd":"t:60,40",
    "cht":"p3",
    "chl":"A Partisi|B Partisi",
    "chan":None,
    "chf":"ps0-0,lg,45,ffeb3b,0.2,f44336,1|ps0-1,lg,45,8bc34a,0.2,009688,1"
}
response=requests.post(postUrl,data=pattern)
response

Çıktı:

<Response [200]>
print(dir(response))

Çıktı:

['__attrs__', '__bool__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', 
'__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__',
 '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '
__nonzero__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', 
'__str__', '__subclasshook__', '__weakref__', '_content', '_content_consumed', '_next', 
'apparent_encoding', 'close', 'connection', 'content', 'cookies', 'elapsed', 'encoding', 'headers', 
'history', 'is_permanent_redirect', 'is_redirect', 'iter_content', 'iter_lines', 'json', 'links', 
'next', 'ok', 'raise_for_status', 'raw', 'reason', 'request', 'status_code', 'text', 'url']
response.status_code

Çıktı:

200
response.content #çıktısı bir resmin byte'larını oluşturmaktadır.(başındaki b harfinden de anlaşılıyor.)

Çıktı:

b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x02\xbc\x00\x00\x00\xbe\x08\x06\x00\x00\x00\xd7\xed\xd
ca\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00 
\x00IDATx^\xed\x9d\t\x98\x1ce\x9d\xff\xbf\xdd=W\x8eIf&\xf7\xc5\xe4\x04r\x10 .....'
type(response.content)

Çıktı:

bytes
#Resim ekrana bastırmak için
from PIL import Image
from io import BytesIO
image=Image.open(BytesIO(response.content))
image.show()

Çıktı:

Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.