Upload files to "/"
This commit is contained in:
commit
4113369751
51
tugas prak webservice.py
Normal file
51
tugas prak webservice.py
Normal file
@ -0,0 +1,51 @@
|
||||
import requests
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
def main():
|
||||
# 1. Menerima input angka dari pengguna (Prompt sederhana)
|
||||
angka = input("Masukkan angka yang ingin dikonversi: ")
|
||||
|
||||
# 2. Menyusun SOAP envelope secara terprogram
|
||||
url = "http://www.dataaccess.com/webservicesserver/NumberConversion.wso"
|
||||
|
||||
payload = f"""<?xml version="1.0" encoding="utf-8"?>
|
||||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
||||
<soap:Body>
|
||||
<NumberToWords xmlns="http://www.dataaccess.com/webservicesserver/">
|
||||
<ubiNum>{angka}</ubiNum>
|
||||
</NumberToWords>
|
||||
</soap:Body>
|
||||
</soap:Envelope>"""
|
||||
|
||||
# Menggunakan header yang terbukti berhasil di Postman Anda
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
|
||||
'Accept-Encoding': 'gzip, deflate',
|
||||
'Content-Type': 'text/xml; charset=utf-8',
|
||||
'SOAPAction': '""'
|
||||
}
|
||||
|
||||
try:
|
||||
# Mengirim request HTTP POST
|
||||
print("\nMengirim request ke server...")
|
||||
response = requests.post(url, headers=headers, data=payload)
|
||||
|
||||
# 3. Mem-parsing XML response
|
||||
root = ET.fromstring(response.text)
|
||||
|
||||
# SOAP response menggunakan namespace, jadi kita harus mendefinisikannya untuk pencarian
|
||||
namespaces = {'m': 'http://www.dataaccess.com/webservicesserver/'}
|
||||
|
||||
# Mencari tag <m:NumberToWordsResult> dan mengambil teks di dalamnya
|
||||
hasil = root.find('.//m:NumberToWordsResult', namespaces).text
|
||||
|
||||
# Menampilkan hasil
|
||||
print("="*30)
|
||||
print(f"Hasil Konversi: {hasil}")
|
||||
print("="*30)
|
||||
|
||||
except Exception as e:
|
||||
print(f"Terjadi kesalahan saat memproses request: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Loading…
x
Reference in New Issue
Block a user