Kamis, 23 September 2021

Penerapan Query String Pada Web Server Dinamis

 WEB SERVER DINAMIS

Query String
     
 
    Quer String adalah bagian dari Uniform Resource Locator (URL) yang memberikan nilai ke parameter tertentu. String kueri biasanya menyertakan bidang yang ditambahkan ke URL dasar oleh browser Web atau aplikasi klien lainnya, misalnya sebagai bagian dari formulir HTML.[1]  Server web dapat menangani permintaan Hypertext Transfer Protocol (HTTP) baik dengan membaca file dari sistem filenya berdasarkan jalur URL atau dengan menangani permintaan menggunakan logika yang khusus untuk jenis sumber daya. Dalam kasus di mana logika khusus dipanggil, string kueri akan tersedia untuk logika tersebut untuk digunakan dalam pemrosesannya, bersama dengan komponen jalur URL.

Sebelumnya kita sudah membuat web server dinamis dengan template engine dan handle method POST. Selanjutnya kita akan menambahkan query string ke dalam web server kita. Query string adalah bagian dari URL setelah karakter tanda tanya (?) contohnya http://localhost:8080/login.html?user=admin , jadi user=admin merupakan query string. kita langsung saja menambahkan ke web server kita, pertama yang kita lakukan menambahkan di bagian handle request

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

Pada handle_request kita membuat variabel query berfungsi menampung query_string , uri sendiri 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 kirimkan 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()

Demikian artikel saya mengenai penjelasan query string selanjutnya ke pembahasan topik lainnya.....

Tidak ada komentar:

Posting Komentar

Cara Membuat Database Pada Ms Excel ~ Part 8

    Normalisasi adalah teknik analisis data yg mengorganisasikan atribut-atribut data menggunakan cara mengelompokkan sebagai akibatnya ...