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

  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011
  • Smith Micro Graphics

    Smith Micro

    15 Mayıs 2008