Ben REST tarzı URL paramteters için biçimi olarak kullanabilirsiniz bölü kaldırır kodlamayı öner

2 Cevap ûnet

REST tarzı URL'ye bir yol verilebilir:

http://site.com/rest/customer/foo/robot/bar/1

Bunu GET zaman, 1 bar-URL foo-müşteri içeren sayfa için bir PDF döner.

Foo iken müşteri çubuğunun adını bir URL. URL genellikle eğik içerir ve bu gibi görünebilir:

http://anothersite.com/interestingarticle.html

Bölü REST URL ayrı argüman olarak sadece yukarıda REST URL içine koyamazsınız. Hangi kodlama kullanmalıyım? O da eğik çizgi kullanır gibi ben Bankası'nı 64 kullanamazsınız.

Bir teknik not olarak ben. NET uygulamasında URL kodlama ve PHP bunu çözmek.

2 Cevap

Tarafından çift URL kodlama herhangi bir eğik çizgi içerir asla ve bu yüzden eğik çizgilerle ayrılmış parametreleri kullanabilirsiniz URL.

URL kodlanmış ve C # kullanarak NET gönderilir.:

String url = "http://urltoencode.com/a/page";
System.Text.Encoding westernEuropeanISOencoding = System.Text.Encoding.GetEncoding("iso-8859-1");
String doubleEncodedUrl = System.Web.HttpUtility.UrlEncode(url, westernEuropeanISOencoding);
doubleEncodedUrl = System.Web.HttpUtility.UrlEncode(doubleEncodedUrl, westernEuropeanISOencoding);

Alan PHP-script çift URL çözer:

url = decode(decode($receivedDoubleEncodedUrl));

Kullanımınız durum tam olarak nedir? Neden bar URL olması gerekiyor? Sunucu uris istediği herhangi bir şekilde oluşturabilirsiniz.

Nedense URL'sini kullanmanız gerekiyorsa, bunu:

http://site.com/rest/customer/foo/robot?bar=http://anothersite.com/interestingarticle.html&page=1

(Tabii urlencoded sorgu dizesi ile).