Hoşgeldin. Soru sormak veya cevaplamak için hemen üye ol.

HTTP POST ile web servis'e veri göndermek?

0 oy
240 kez görüntülendi
6, Şubat, 2017 ios development kategorisinde csayin tarafından soruldu

merhabalar,

http post metodunu kullanarak textfield'a girdigim text'i ilgili tabloya yollamak istiyorum. web servisin'in linki burada ve api kodu "a3829dc2". ögrenci tablosundan ögrenciye dair bilgileri çekiyorum. Yapmaya çalıştığım şey eger ögrencinin "dc_Notlar " alaninda girili notu yok ise uygulamadan notunu girmek istiyorum. internetten arama yaptığımda en elle tutulur örnek bu ancak kendi uygulamama uyarlayamadım. bilgisi olan arkadaslar yardımcı olursa cok sevinirim, simdiden tesekkurler, herkese iyi çalısmalar.

1 cevap

0 oy
7, Şubat, 2017 yasin tarafından cevaplandı

Tama işte stack'da bulduğu örnek gayet iyi.
Fakat çalışabilmesi için uygulama info.plist'içerisi "App Transport Security Settings" key'ini ve onun altınada "Allow Arbitrary Loads" karşısında "YES" değerini seçmelisin.

var request = URLRequest(url: URL(string: "https://www.netdata.com/WS.asmx/GetData")!)
        request.httpMethod = "POST"
        //apikey'i, ColumnName ve value değerlerini belirt.
        let postString = String(format: "APIKey=%@&ColumnName=%@&Value=%@", "a3829dc2", "ColumnName buraya", "value buraya")
        request.httpBody = postString.data(using: .utf8)
        let task = URLSession.shared.dataTask(with: request) { data, response, error in
            guard let data = data, error == nil else {                                                 // check for fundamental networking error
                print("error=\(error)")
                return
            }

            if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 {           // check for http errors
                print("statusCode should be 200, but is \(httpStatus.statusCode)")
                print("response = \(response)")
            }

            let responseString = String(data: data, encoding: .utf8)
            print("responseString = \(responseString)")
        }
        task.resume()
...