Python istekleri

Python’da bir uygulama olu≈ütururken, bir uçuncu taraf hizmetine baƒülanmak istediƒüiniz bir zaman gelebilir. √ñrneƒüin, bir fitness aracƒ± olu≈üturuyorsanƒ±z, egzersiz verilerinizi g√∂rebilmek için Fitbit API’sine baƒülanmak isteyebilirsiniz; metin mesajlarƒ± g√∂nderebilen bir uygulama Twilio API’sine baƒülanabilir.

Python’da istek kitaplƒ±ƒüƒ±, uçuncu taraf web hizmetlerini uygulamalarƒ±nƒ±za baƒülayabilmeniz için isteklerde bulunmanƒ±za olanak tanƒ±r. Bu kƒ±lavuzda, Python istek kitaplƒ±ƒüƒ± ve onu HTTP istekleri g√∂ndermek için nasƒ±l kullanabileceƒüinizi √∂ƒüreneceƒüiz.

Web İstekleri: Bir Tazeleme

ƒ∞stekler merkezdedir. ƒ∞nternetin. Bu makaleye tƒ±kladƒ±ƒüƒ±nƒ±zda, Python.Engineering sunucusuna bir HTTP isteƒüi g√∂nderildi. Bu istek, sunucularƒ±mƒ±za, sunucumuzun sayfayƒ± bulabilmesi için hangi web sayfasƒ±nƒ± g√∂rmek istediƒüinizi s√∂yledi. Web sayfasƒ± bulunduƒüunda, web sunucumuz onu tarayƒ±cƒ±nƒ±za geri d√∂ndurdu. Bu sureç, bu √∂ƒüreticiyi g√∂rmenizi saƒülar.

Web istekleri birçok farklƒ± biçimde gelir. Bu web sayfasƒ±nƒ± g√∂runtulemek için yaptƒ±ƒüƒ±nƒ±z istek turune GET isteƒüi adƒ± verildi. Bu tur bir istek, verileri almanƒ±zƒ± saƒülar. Bir sunucudaki kaynaklarƒ± deƒüi≈ütirmek için kullanƒ±lan POST ve PUT gibi ba≈üka istek turleri de vardƒ±r. Bu eƒüitimin amaçlarƒ± doƒürultusunda,‚ÄôGET ve POST isteklerine odaklanacaƒüƒ±z.

İstekler Nasıl Yuklenir

ƒ∞stekler, web olu≈üturmanƒ±za olanak tanƒ±yan Python için HTTP kitaplƒ±ƒüƒ±dƒ±r. request.

Python kullanarak web istekleri yapabilmemiz için Python request kod kitaplƒ±ƒüƒ±nƒ± kurmamƒ±z gerekiyor. Bunu a≈üaƒüƒ±daki komutu kullanarak yapabiliriz:

Python paketini indirdiğimize göre, bir web isteğinde bulunmaya hazırız.

GET İsteği Nasıl Yapılır?

En yaygın web isteği turu. ll make bir GET isteğidir. Bu tur bir istek, bir sunucudan veri almanıza olanak tanır.

Katƒ±lƒ±mcƒ±larƒ±n %81’i, bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda daha emin hissettiklerini belirtti. Bugun bir eƒüitim kampƒ± ile e≈üle≈üin.

Ortalama bir eƒüitim kampƒ± mezunu, bir eƒüitim kampƒ±na ba≈ülamaktan ilk i≈üini bulmaya kadar, kariyer geçi≈üinde altƒ± aydan daha az zaman harcadƒ±.

Diyelim ki √∂yleyiz. kedi gerçeklerinin bir listesini almanƒ±zƒ± saƒülayan bir uygulama yapmak. Bunu yapmak için cat-facts adlƒ± bir API kullanacaƒüƒ±z. Bu API herkese a烱ktƒ±r, dolayƒ±sƒ±yla oturum açmak için herhangi bir kimlik bilgisine ihtiyacƒ±mƒ±z yoktur. API’ye istekte bulunmak için bu kodu kullanabiliriz:

< p>Bu kod ≈üunu d√∂ndurdu: 200. Haydi kodumuzu parçalayalƒ±m.

ƒ∞lk satƒ±rda, istek kitaplƒ±ƒüƒ±nƒ± içe aktardƒ±k. Bu, √∂ƒüreticimizde kullanacaƒüƒ±mƒ±z istek kitaplƒ±ƒüƒ±na eri≈ümemize izin verdi. Sonra bir web isteƒüi yapmak için requests.get() y√∂ntemini kullandƒ±k. Ba≈üka turde istekler yapmak için .put() veya .post() gibi y√∂ntemler kullanabilirdik, ancak bu durumda yalnƒ±zca cat- fact API.

Ardından, web isteğimizden durum kodunu yazdırdık. 200 numara bize geri döndu, bu da bize web isteğimizin başarıyla yapıldığını söyledi. Bu sayıların ne anlama geldiğini öğreticide daha sonra tartışacağız.

Bir İsteği Göruntuleme

Yukarƒ±daki √∂rneƒüimizde, isteƒüimizin durum kodunu yazdƒ±rdƒ±k. Ancak aldƒ±ƒüƒ±mƒ±z verileri nasƒ±l g√∂rebiliriz? Kedi gerçekleri nerede? ƒ∞≈üte burada .text ve .json() y√∂ntemleri devreye girer.

Metin Yanıtını Göruntule

.text yöntemini kullanabiliriz. web isteğimizin sonucu:

Bu kod, kedi gerçeklerinin bir listesini d√∂ndurdu. Ancak bu bizim için pek pratik deƒüil çunku sorguladƒ±ƒüƒ±mƒ±z veriler bir API. Artƒ±k kedi gerçeklerinin bir Python listesine sahip olsak da, bunlarƒ± duz metin halinde olduklarƒ± için okumamƒ±z zor.

Kedi gerçeklerimizin saklanabileceƒüi daha kullanƒ±≈ülƒ± bir biçim JSON’dur. Bu kodu kullanarak isteƒüimizden JSON verilerini alabiliriz:

Kodumuz, uzun bir kedi gerçekleri listesi d√∂ndurur. ƒ∞≈üte listedeki ilk kayƒ±t:

Ba≈üarƒ±! Kedi gerçekleri listemize ula≈ümayƒ± ba≈üardƒ±k.

POST İsteği Nasıl Yapılır

POST isteƒüi yapmak için istek kitaplƒ±ƒüƒ±nƒ± da kullanabilirsiniz. Bu, bir web sunucusunda depolanan verileri deƒüi≈ütirmenize olanak tanƒ±r.

Bu √∂rnek için Airtable API’sini kullanacaƒüƒ±z. Bunun nedeni, POST isteklerini destekleyen bir API kullanmamƒ±z gerekmesi ve cat-facts API’sinin salt okunur olmasƒ±dƒ±r.

< p>Diyelim ki içtiƒüimiz tum bardaklarƒ± kaydettiƒüimiz bir veri tabanƒ±mƒ±z var. Az √∂nce bir bardak çay daha içtik ve veri tabanƒ±na eklemek istiyoruz. Bunu ≈üu kodu kullanarak yapabiliriz:

Kodumuz dönduruldu:

Bu bize HTTP isteƒüimizin ba≈üarƒ±lƒ± olduƒüunu bildirir. API’lerini kullanarak Airtable veritabanƒ±mƒ±za bir kayƒ±t ekledik. Bu kod satƒ±rlarƒ±nƒ± daha ayrƒ±ntƒ±lƒ± tartƒ±≈üalƒ±m.

√ñnce, kodumuzda HTTP istekleri yapabilmek için istek kitaplƒ±ƒüƒ±nƒ± içe aktardƒ±k.

Ardƒ±ndan tanƒ±mladƒ±k. iki anahtar ve deƒüer içeren bir s√∂zluk: biri kimlik doƒürulama anahtarƒ±mƒ±zƒ± depolayan ve diƒüeri web sunucusuna g√∂nderdiƒüimiz içeriƒüin turunu belirten. Bunlar, Airtable API’sine istekte bulunmak için g√∂ndermemiz gereken ba≈ülƒ±klardƒ±r.

Sonra, POST isteƒüimizle birlikte g√∂ndermek istediƒüimiz verileri depolayan data adƒ±nda bir deƒüi≈üken tanƒ±mladƒ±k. Bu durumda, "Siyah Decaf Tea‚" veritabanƒ±mƒ±za. Daha sonra requests.post() y√∂ntemini kullandƒ±k ve ba≈ülƒ±klarƒ±mƒ±zƒ± ve verilerimizi parametre olarak belirledik, bu da Airtable API’sine bir POST isteƒüi yapmamƒ±za izin verdi.

" Python.Engineering hayatƒ±ma en çok ihtiyacƒ±m olduƒüu anda girdi ve hƒ±zlƒ± bir ≈üekilde bir eƒüitim kampƒ±yla e≈üle≈ümeme yardƒ±mcƒ± oldu. Mezun olduktan iki ay sonra, hayattaki deƒüerlerime ve hedeflerime uygun, hayalimdeki i≈üi buldum!"

Venus, Rockbot’ta Yazƒ±lƒ±m Muhendisi

Son olarak, talebimizin sonucunu res.json() kullanarak JSON formatında yazdırdık.< /p>

HTTP Durum Kodları

HTTP protokolu, bir web isteƒüi yaptƒ±ƒüƒ±nƒ±zda benzersiz bir durum kodu d√∂ndurur. Bu, web isteƒüinizin ba≈üarƒ±lƒ± olup olmadƒ±ƒüƒ±nƒ± veya herhangi bir hatanƒ±n olu≈üup olu≈ümadƒ±ƒüƒ±nƒ± g√∂rmenizi saƒülar. Muhtemelen bunlardan birka烱nƒ± g√∂rmu≈üsunuzdur, √∂rneƒüin 404.

Python istekleriyle istekte bulunurken karşılaşabileceğiniz durum kodlarının bir referans listesi:

  • 1XX: Bilgi
  • 2XX: ƒ∞stek ba≈üarƒ±yla yapƒ±ldƒ±
  • 3XX: ƒ∞stek yeniden y√∂nlendirildi
  • 4XX: ƒ∞stemci tarafƒ± hatasƒ±
  • li>
  • 5XX: Sunucu tarafƒ± hatasƒ±

Bu durum kodlarını bilmek, programımıza hata ayıklama eklememizi sağlar. Daha önceki cat-facts API örneğinden GET isteğini alalım. Erişmekte olduğumuz kaynak bulunamazsa bir mesaj yazdırmak istediğimizi varsayalım. Bunu şu kodu kullanarak yapabiliriz:

Kodumuz ≈üu sonucu verdi: Ba≈üarƒ±lƒ±. ƒ∞steƒüimizin durum kodu 200 olduƒüundan, "Success‚" konsola yazdƒ±rƒ±lƒ±r. Ancak, isteƒüimiz ba≈üarƒ±sƒ±z olduysa ‚Äì √∂rneƒüin, geçersiz bir URL belirtmi≈ü olabiliriz ‚Äì ardƒ±ndan "Hata‚" konsola yazdƒ±rƒ±lƒ±rdƒ±.

Sonuç

Python istek kitaplƒ±ƒüƒ±, Python’da HTTP istekleri yapmanƒ±za izin verir. Bu kƒ±lavuzda, GET ve POST istekleri yapmak için Python istek kitaplƒ±ƒüƒ±nƒ±n nasƒ±l kullanƒ±ldƒ±ƒüƒ±nƒ± tartƒ±≈ütƒ±k, ancak kitaplƒ±ƒüƒ± kullanarak PUT ve DELETE istekleri de yapabilirsiniz.

< gibi bir yöntem kullandığınızda code>requests.get() veya requests.post(), Python erişmek istediğiniz web kaynağına bir istekte bulunacaktır. İsteğinize başlıklar ve veriler ekleyebilirsiniz; bu, sahip olduğunuz bir web kaynağında değişiklik yapmak istiyorsanız bilgi göndermenize olanak tanır.

Artık Python isteklerini kullanmaya hazırsınız. bir uzman gibi kitaplık!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method