SORU
22 ŞUBAT 2009, Pazar


URL Kodlaması kullanarak C#

Bir arkadaşım için geliştirdiğim bir uygulama var. VB forum yazılımı için bir POST isteği gönderir ve biri (dışarı çıkmadan kurabiye ya da bir şey ile) kaydeder.

Kullanıcı giriş yaptığında kendi yerel makinede bir yol oluşturan bir değişken yarattım.

c:\tempfolder\date\username

Bu sorun, bazı kullanıcı adları "Geçersiz karakter" özel durum. atıyor yani Eğer kullanıcı adım mas|fenix örneğin bir istisna.. atmak olur

Path.Combine( _      
  Environment.GetFolderPath(System.Environment.SpecialFolder.CommonApplicationData), _
  DateTime.Now.ToString("ddMMyyhhmm")   "-"   form1.username)

Dize çıkarmak istemiyorum, ama kendi kullanıcı adı ile bir klasör sunucusu FTP ile oluşturulur. Ve bu benim ikinci soruya yol açar. Eğer sunucu üzerinde bir klasör yaratıyorum eğer "geçersiz karakter"? I terk Ben sadece sunucu Linux tabanlı olduğu için bu isteyin, ve eğer Linux bunu kabul ederse emin ya da değil.. ben değilim

EDİT: URL kodlamak.. Burada yapmak istediğim şey, istediğim bir şey DEĞİL gibi görünüyor:

old username = mas|fenix
new username = mas%xxfenix

%Xx ASCII değeri veya başka bir değer olduğu kolayca karakterini belirleyecek.

CEVAP
22 ŞUBAT 2009, Pazar


Sadece kullanıcı adı veya geçersiz olabilir URL diğer bölümü kodlamak gerekir. URL bir URL kodlama bir yana bu gibi sorunlara yol açabilir

string url = HttpUtility.UrlEncode("http://www.google.com/search?q=Example");

Verecektir

http://www.google.com/search?q=Example

Belli ki bu şey işe yaramayacak. Bunun yerine, bu gibi sorgu dizesi anahtar/değer çiftinin TEK değer kodlamak gerekir:

string url = "http://www.google.com/search?q="   HttpUtility.UrlEncode("Example");

Umarım bu yardımcı olur. Ayrıca teedyay de belirtildiği gibi, hala yasadışı dosya adı emin olmak gerekir karakterleri kaldırılır veya başka bir dosya sistemi yolu gibi olmayacak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BachelorsPadTv

    BachelorsPad

    17 Ocak 2012
  • CommonArtisan

    CommonArtisa

    7 Temmuz 2012
  • GALERNAYA20

    GALERNAYA20

    19 NİSAN 2011