Langsung ke konten utama

Query String

Setelah kita membuat webserver dinamis dengan template engine dan handle method POST lalu kita akan melanjutkan dengan menambahkan query string ke dalam webserver kita. Query string adalah bagian dari URL setelah karakter tanda tanya (?) contohnya link berikut ini http://localhost:8080/login.html?user=admin, jadi user=admin ini merupakan query string. Kita langsung saja menambahkan ke webserver kita, yang pertama yang kita lakukan adalah menambahkan di bagian handle request seperti kode berikut :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def handle_request(request):
    request_message = str(request).split('\r\n')
    request_line = request_message[0]
    words = request_line.split()
    method = words[0]
    uri = words[1].strip("/")
    query = uri.split('?')
    query_string = ''
    http_version = words[2]
    if(uri == ''):
        uri = 'index.html'
    url = uri
    if(len(query) > 1):
        query_string = query[1]
        url = query[0]
    if(method == 'GET'):
        print(uri)
        query_string = query_string
        response = handle_get(url, http_version,query_string)
    elif(method == 'POST'):
        data = request_message[len(request_message)-1]
        response = handle_post(url, http_version,data,query_string)
    return response

Di bagian handle_request kita membuat variabel query untuk menampung query_string, uri terdiri dari dua hal yaitu url dan query string, setelah query string dipisahkan dengan url dengan kode berikut :

1
2
3
if(len(query) > 1):
   query_string = query[1]
   url = query[0]

Maka query string akan di kirimkan sebagai parameter, ketika request terjadi maka query string akan di masukan ke dalam context dan di kirimikan sebagai data yang terlihat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
response_line = b''.join([http_version.encode(), b'200', b'OK'])
content_type = mimetypes.guess_type(url)[0] or 'text/html'
entity_header = b''.join([b'Content-type: ', content_type.encode()])
file = open(url, 'r')
html = file.read()
file.close()
template = Template(html)
_POST = {}
_QUERY_STRING = {}
for x in query_string.split('&'):
        y = x.split('=')
        _QUERY_STRING[y[0]]=y[1]
for x in data.split('&'):
    y = x.split('=')
    _POST[y[0]]=y[1]
print(_POST)
context = {
    '_POST' : _POST,
    '_QUERY_STRING' : _QUERY_STRING,
}
message_body = template.render(context).encode()

Komentar

Postingan populer dari blog ini

Mengasah Keterampilan di HackerRank.com - Part 2 (If-Else)

HackerRank adalah platform yang bisa kita gunakan untuk mengasah kemampuan pemrograman kita. Selain pemrograman, kita juga bisa belajar tentang database, keamanan, sistem terdistribusi, dll. Jelas, semua ini ada hubungannya dengan pemrograman.  Di HackerRank, seperti kebanyakan juri online, kami dapat mengatasi banyak tantangan. Dari tingkat mudah hingga ahli. Ada begitu banyak tantangan yang tersedia sehingga kita tidak akan pernah bosan. Kompetisi atau kontes diadakan secara berkala dan beberapa di antaranya menawarkan harga yang menarik. buat kontes "kecil" kami menggunakan fungsi HackerRank.  Faktanya, masih ada langit di atas langit, jadi jangan pernah puas dengan pengetahuan yang telah kita peroleh. Terus tingkatkan dan kembangkan lagi, inilah tampilan pertama  HackerRank.com : Pada gambar diatas terdapat tampilan pertama HackerRank.com, pada halaman ini anda bisa memilih sesuai dengan kebutuhan yang saat ini dibutuhkan untuk bisnis atau developer, bagi anda yang in...

Membuat Slider/Slideshow Menggunakan HTML, CSS dan JS

Membuat slider/slideshow dengan HTML, CSS dan JS - Tentu saja di setiap halaman website kita sering menemukan layar desain berupa teks di menu dan juga dipadukan dengan icon di setiap menu. Fitur agar terlihat menarik dan fitur di Nah, kali ini saya akan membagikan tutorial cara membuat slider/slideshow dengan HTML, CSS dan JS.  Sebelum itu kita perlu memiliki prototipe desain referensi untuk memudahkan. Di sini saya sudah memiliki prototipe desain Wlijo di halaman Wlijo. dalam kategori simbol seperti yang ditunjukkan di bawah ini: Kode HTML <! DOCTYPE html > < html lang = "en" > < head > <!-- Required meta tags --> < meta charset = "utf-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1" > < link href = "home.css" rel = "stylesheet" type = "text/css" > </ head > < body > < div class = "container" ...

Membuat Database Menggunakan Aplikasi Excel ~ Part 2

Microsoft Excel adalah salah satu program aplikasi yang merupakan bagian dari paket installasi Microsoft Office. Microsoft Excel ini berfungsi untuk mengolah angka dengan menggunakan spreadsheet yang terdiri dari baris dan kolom untuk mengeksekusi perintah. Microsoft Excel digunakan dalam berbagai bidang pekerjaan, baik itu usaha kecil ataupun perusahaan yang berskala internasional. Adapun beberapa fungsi dan kegunaan yang terdapat pada Microsoft Excel diantaranya: Membuat, mengedit, mengurutkan, menganalisis, meringkas, dan memformat data serta grafiknya.  Membuat catatan keuangan dan anggaran keuangan.  Menghitung dan mengelola investasi, pinjaman, penjualan, inventaris, dan yang lainnya.  Melakukan analisis dan riset terhadap harga di pasaran.  Melakukan perhitungan statistika.  Membantu sektor bisinis untuk mempermudah melakukan laporan keuangan.  Membuat daftar nilai sekolah maupun universitas.  Konversi mata uang.  Membuat grafik persamaan m...