CodeGym /Kurslar /Python SELF AZ /Şəbəkə ilə işləmə

Şəbəkə ilə işləmə

Python SELF AZ
Səviyyə , Dərs
Mövcuddur

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-requestPOST-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ğusuDELETE-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, PUTDELETE 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.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION