async post
- Python kursu
- İleri seviye
- Ders 40/83
- 5 dk
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
# 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
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
async with ____("https://example.com", data={"ad": "Ayşe"}) as resp:
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 |