3.1 requests modulu
Python-da internetlə işləmək üçün əsas kitabxana olan requests mövcuddur. O, şəbəkə ilə işləmək üçün rahat interfeys təmin edir, HTTP-sorğuları göndərməyə və cavab almağa minimal səylə imkan verir.
Bu kitabxana Python ilə birlikdə gəlmir, bu səbəbdən istifadə etməzdən əvvəl onu paket menecerindən yükləməlisiniz.
Terminalınızı açın və aşağıdakı əmri yazın:
pip install requests
Kitabxananı quraşdırdıqdan sonra requests modulundan layihələrinizdə istifadə edə bilərsiniz. Məsələn, xarici IP-ünvanınızı bu şəkildə təyin edə bilərsiniz:
import requests
response = requests.get("http://ip.jsontest.com/")
print(response.status_code) # Cavab status kodunu göstərir
print(response.json()) # JSON-cavabı göstərir
Burada biz ip.jsontest.com servisinə (saytına) sorğu göndərdik. O, sorğu göndərildiyi IP-ünvanı qaytaran JSON-obyekti qaytarır. Sorğunun göndərilməsi və cavabın alınması bir sətirdə həyata keçirilir — bu çox rahatdır. Qalan sətirlərdə isə sadəcə serverin cavabını çap etdik.
Yuxarıdakı nümunədə biz get() metodunu çağırdıq. Aşağıda bu metod və requests obyektinin digər metodları haqqında danışacağam.
3.2 Metodların Siyahısı
requests obyektində həyatın hər vəziyyəti üçün metodlar var, daha dəqiqi, hər HTTP sorğusunun növü üçün bir metod.
| Metod | Təsvir |
|---|---|
requests.get() |
Serverdən məlumat alışı üçün GET-sorğusu göndərir. |
requests.post() |
Serverə məlumat göndərişi üçün POST-sorğusu göndərir. |
requests.put() |
Serverdə məlumatları yeniləmək üçün PUT-sorğusu göndərir. |
requests.delete() |
Serverdən məlumatları silmək üçün DELETE-sorğusu göndərir. |
requests.head() |
Cavabın başlıqlarını əldə etmək üçün HEAD-sorğusu göndərir, amma məlumat bədəni olmadan. |
requests.options() |
Server tərəfindən dəstəklənən metodlar və parametrlər haqqında məlumat əldə etmək üçün OPTIONS-sorğusu göndərir. |
requests.patch() |
Serverdə məlumatların qismən yenilənməsi üçün PATCH-sorğusu göndərir. |
requests.request() |
Bütün növ HTTP-sorğular üçün əsas metoddur. |
Aşağıda onların ən əsaslarını nəzərdən keçirəcəyik.
3.3 GET-request və POST-request göndərilməsi
GET-request adətən yalnız URL-dən ibarət olur və ya əlavə parametrlər sətrini ehtiva edə bilər.
1. Təmiz GET-request göndərilməsi
GET-request məlumatları serverdən almaq üçün istifadə olunur. Mütləq parametr, sorğunun göndərildiyi URL-dir.
Nümunə:
import requests
response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code) # Cavabın status kodunu çap edir
print(response.json()) # JSON-cavabı çap edir
2. Parametrlərlə GET-request göndərilməsi
Həmçinin, URL key=value&key2=value2&… kimi formada əlavə parametrləri ehtiva edə bilər.
Bizim halda, parametrlər sözlük (dictionary) və params dəyişəni kimi ötürülür:
import requests
params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())
3. POST-request göndərilməsi
POST-request sorğunun gövdəsini (body) ehtiva edə bilər: mətn, JSON və ya hətta şəkil.
Nümunə:
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())
3.4 PUT-sorğusu və DELETE-sorğusu göndərmə
1. PUT-sorğusu göndərmə
PUT-sorğusu serverdəki məlumatları yeniləmək üçün istifadə olunur.
import requests
data = {
'title': 'foo',
'body': 'bar',
'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())
2. DELETE-sorğusu göndərmə
DELETE-sorğusu serverdəki məlumatları silmək üçün istifadə olunur.
import requests
response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())
GET, POST, PUT və DELETE sorğularını daha yaxşı anlamaq üçün şəbəkə quruluşu, internet, veb və HTTP haqqında dərsləri oxumalısınız. Bunların hamısı sizi yaxın gələcəkdə gözləyir.
GO TO FULL VERSION