CodeBlanks Logo Icon CodeBlanks

async post

await session.post ile POST isteğini öğrenirsin.

async post

session.post(url, data=...), bir POST isteği yapan asenktron metottur. data parametresi ile form gövdesi, content parametresi ile yapısal veri gönderilir.

async with session.post(url, data={"ad": "Ayşe"}) as resp:
    print(await resp.text())

POST isteği genellikle yeni bir kaynak oluştururken kullanılır. Yanıt, GET'teki gibi async with ile açılır.

form verisi gönderme

Form verisi, anahtar-değer çiftlerinden oluşan bir gövdedir. data parametresine bir sözlük verirsin; aiohttp onu otomatik olarak application/x-www-form-urlencoded biçiminde kodlar.

form = {"kullanici": "ayse", "sifre": "gizli"}
async with session.post(url, data=form) as resp:
    print(await resp.text())

Yapısal veri gövdesi için content parametresi ve headers içinde application/json başlığı kullanılır.

Uygulama async post ile form gönder

import asyncio ve import aiohttp ile başla. async def main() içinde async with aiohttp.ClientSession() as session: aç. async with session.post("https://example.com", data={"ad": "Ayşe"}) as resp: ile POST isteği yap. print(await resp.text()) ile yanıtı yazdır. asyncio.run(main()) ekle.

Başlangıç kodu

main.py
# asyncio ve aiohttp modüllerini içe aktar
# async with ile bir oturum aç
# oturum üzerinde post ile bir istek yap (data parametresi ile)
# await ile yanıtı oku ve yazdır
# asyncio.run ile main'i çalıştır

Örnek çözüm

main.py
import asyncio
import aiohttp

class _S:
    async def __aenter__(self): return self
    async def __aexit__(self, *a): return False
    def post(self, url, **kw): return self
    async def text(self): return 'tamam'

aiohttp.ClientSession = _S

async def main():
    async with aiohttp.ClientSession() as session:
        async with session.post('https://example.com', data={'ad': 'Ayşe'}) as resp:
            print(await resp.text())

asyncio.run(main())

Beklenen çıktı

tamam

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 session.post'un data parametresi ne taşır?

  • Yanıt gövdesini
  • Form gövdesini Doğru cevap
  • Başlıkları
  • Durum kodunu

Açıklama: data parametresi istek gövdesini taşır.

2 post çağrısını tamamla

Soru
async with ____("https://example.com", data={"ad": "Ayşe"}) as resp:
Cevap
async with session.post("https://example.com", data={"ad": "Ayşe"}) as resp:

Açıklama: session.post(url, data=...) ile POST isteği yapılır.

3 post kavramlarını eşleştir

Kavram Anlamı
session.post POST isteği yapar
data Form gövdesi taşır
content Yapısal veri taşır
await resp.text Yanıt gövdesi verir

İleri seviye bölümündeki tüm dersler