2 Nisan 2012 Pazartesi

java.io.IOException: Server returned HTTP response code: 505 Çözümü

Glassfish üzerinde Java Web uygulaması geliştirirken bir adreste bulunan veriyi okumam gerekti. java.net.URL sınıfı ile bu URL'i okumak isterken başlıkta belirttiğim "java.io.IOException: Server returned HTTP response code: 505" hatasını aldım. Diğer parametrelerimde herhangi bir sorun gözükmemesine rağmen, özellikle localhost'da bulunan bir adresi çağırdığımda bu hata ile karşılaşmaya başladım. Biraz araştırma yaptıktan sonra sorunun URL'de geçen parametrelerin encode edilmeden URL'in çağrılmasından kaynaklı olduğunu buldum. Sorunun çözümü için ise yine aynı pakette bulunan URLEncoder sınıfını kullanmak yeterli. Bu sınıf içerisindeki encode() metoduna, encode edilmesini istediğiniz parametreyi ya da URL'in tamamını verip character encoding olarak da utf8 kullanmanız yeterli.
URLEncoder.encode("Test Parameter", "utf8");
URLEncoder.encode(myURL, "utf8"); 
( java, glassfish, url, encode, utf8, http 505, urlencoder, java.io.ioexception )