SORU
10 Aralık 2009, PERŞEMBE


't takip etmiyor Java yönlendirme URLConnection içinde

Neden Java yönlendirme takip etmiyor anlamıyorum. Aşağıdaki kodu this page I almak için kullanabilirsiniz:

import java.net.URL;
import java.net.HttpURLConnection;
import java.io.InputStream;

public class Tester {

    public static void main(String argv[]) throws Exception{
        InputStream is = null;

        try {
            String bitlyUrl = "http://bit.ly/4hW294";
            URL resourceUrl = new URL(bitlyUrl);
            HttpURLConnection conn = (HttpURLConnection)resourceUrl.openConnection();
            conn.setConnectTimeout(15000);
            conn.setReadTimeout(15000);
            conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)");
            conn.connect();
            is = conn.getInputStream();
            String res = conn.getURL().toString();
            if (res.toLowerCase().contains("bit.ly"))
                System.out.println("bit.ly is after resolving: " res);
       }
       catch (Exception e) {
           System.out.println("error happened: " e.toString());
       }
       finally {
            if (is != null) is.close(); 
        }
    }
}

Ayrıca, aşağıdaki yanıtı (kesinlikle doğru gibi görünüyor!).

GET /4hW294 HTTP/1.1
Host: bit.ly
Connection: Keep-Alive
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru-RU; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
HTTP/1.1 301 Moved
Server: nginx/0.7.42
Date: Thu, 10 Dec 2009 20:28:44 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Location: https://www.myganocafe.com/CafeMacy
MIME-Version: 1.0
Content-Length: 297

Ne yazık ki, 'res' değişkeni aynı URL içerir ve akış aşağıdaki (tabii ki, Java HttpUTLConnection yönlendirmek takip etmiyor!) içerir:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE>Moved</TITLE>
</HEAD>
<BODY>
<H2>Moved</H2>
<A HREF="https://www.myganocafe.com/CafeMacy">The requested URL has moved here.</A>
<P ALIGN=RIGHT><SMALL><I>AOLserver/4.5.1 on http://127.0.0.1:7400</I></SMALL></P>
</BODY>
</HTML>

CEVAP
10 Aralık 2009, PERŞEMBE


Otomatik olarak HTTPS (ya da tersi) HTTP yeniden yönlendirme olacağını sanmıyorum.

HTTP, HTTP protokolü bakış açısıyla yansıtır bildiğimiz halde, HTTPS, tamamen farklı başka, bilinmeyen bir protokoldür. Kullanıcı onayı olmadan yönlendirmek takip etmek güvenli olmayacaktır.

Örneğin, uygulama İstemci Kimlik Doğrulaması otomatik olarak gerçekleştirmek için ayarlanmış varsayalım. Kullanıcı HTTP kullanıyor çünkü anonim olarak sörf olmasını bekler. Ama eğer müvekkiline sormadan HTTPS izler, kimliğini sunucuya ortaya çıkıyor.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 3dmmfavs

    3dmmfavs

    29 Kasım 2009
  • FASHTAG

    FASHTAG

    5 EYLÜL 2012
  • ibebrent

    ibebrent

    23 Temmuz 2007