Giriş
Http ile POST işlemi için 3 seçenek var.
1. application/x-www-form-urlencoded (the default) - Parametre Gönderir
2. multipart/form-data - Dosya Gönderir
3. text/plain - Bilmiyorum
1. application/x-www-form-urlencoded - Parametre Göndermek İçindir
Sorgu string'i gibi şeyleri göndermek için kullanılır.
Http Get isteğinde veri key1=value1&key2=value2 şeklindeki URL içinde gönderilir.
Post isteğinde veriyi URL içine koyma imkanı yok ancak benzer bir mantık güdülerek parametreler Body içine koyuluyor.
Örnek
Post isteğini Postman ile şöyle görürürüz.
Şöyle yaparız
Şöyle yaparız.
Swift ile pot işlemi için şöyle yaparız.
Dosya yüklemek için kullanılır. Açıklaması şöyle.
3. text/plain
Tam olarak ne işe yarar bilmiyorum.
Http ile POST işlemi için 3 seçenek var.
1. application/x-www-form-urlencoded (the default) - Parametre Gönderir
2. multipart/form-data - Dosya Gönderir
3. text/plain - Bilmiyorum
1. application/x-www-form-urlencoded - Parametre Göndermek İçindir
Sorgu string'i gibi şeyleri göndermek için kullanılır.
Http Get isteğinde veri key1=value1&key2=value2 şeklindeki URL içinde gönderilir.
Post isteğinde veriyi URL içine koyma imkanı yok ancak benzer bir mantık güdülerek parametreler Body içine koyuluyor.
Örnek
Post isteğini Postman ile şöyle görürürüz.
Headers:
Content-Type: application/x-www-form-urlencoded
Body:
username: <my-username>
password: <my-password>
ÖrnekŞöyle yaparız
POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
field1=value1&field2=value2
ÖrnekŞöyle yaparız.
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(URL);
request.Method = "POST";
request.ContentLength = data.Length;
request.ContentType = "application/x-www-form-urlencoded";
using (StreamWriter sw = new StreamWriter(request.GetRequestStream(),
System.Text.Encoding.ASCII))
{
sw.Write(data);
sw.Close();
}
ÖrnekSwift ile pot işlemi için şöyle yaparız.
func post (){
let url = URL(string: "https://the-game-stevens-apps.c9users.io/index.html/")!
var request = URLRequest(url: url)
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Accept")
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
let postString = "name=henry&message=HelloWorld"
request.httpBody = postString.data(using: .utf8)
...
}
2. multipart/form-dataDosya yüklemek için kullanılır. Açıklaması şöyle.
The content type "application/x-www-form-urlencoded" is inefficient for sending large quantities of binary data or text containing non-ASCII characters. The content type "multipart/form-data" should be used for submitting forms that contain files, non-ASCII data, and binary data.
3. text/plain
Tam olarak ne işe yarar bilmiyorum.
Güzel yazı... faydalı
YanıtlaSil