1: private void OnClick(object sender, RoutedEventArgs e)
2: {
3: if (txtSearch.Text.Length == 0)
4: return;
5:
6: WebClient client = new WebClient();
7:
8: //URL dari API
9: string url = "http://api.ongkir.info/city/list";
10: //POST Parameter
11: StringBuilder parameter = new StringBuilder();
12: parameter.AppendFormat("{0}={1}&", "query", HttpUtility.UrlEncode(txtSearch.Text));
13: parameter.AppendFormat("{0}={1}&", "type", HttpUtility.UrlEncode("origin"));
14: parameter.AppendFormat("{0}={1}&", "courier", HttpUtility.UrlEncode("jne"));
15: //API Key sengaja disamarkan
16: parameter.AppendFormat("{0}={1}", "API-Key", HttpUtility.UrlEncode("xxxxxxx"));
17:
18: //Set header
19: client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
20: client.Headers[HttpRequestHeader.ContentLength] = parameter.Length.ToString();
21:
22: //menangani respon yang diberikan oleh server ketika menjalankan method UploadStringAsync()
23: client.UploadStringCompleted += new UploadStringCompletedEventHandler(OnUploadStringCompleted);
24: //melakukan UploadString dengan method POST secara asynchronous
25: client.UploadStringAsync(new Uri(url), "POST", parameter.ToString());
26: }