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""" {angka} """ # 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 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()