Je créais une applet Java pour collecter et traiter des données provenant d'autres sites Web. L'applet n'est pas signée et, si je comprends bien, l'accès à d'autres sites est bloqué pour des raisons de sécurité.java.net.SocketPermission - comportement étrange
Cependant, il semble qu'au moins l'un des autres sites n'est pas bloqué. J'ai essayé ce code:
package where;
import java.awt.BorderLayout;
import java.awt.Container;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JTextArea;
public class TestPermissions extends JApplet {
JTextArea txt = new JTextArea();
public void openURL(String site) {
txt.append(site+": ");
try {
URL url = new URL(site);
BufferedReader in = new BufferedReader(
new InputStreamReader(
url.openStream()));
txt.append("Succes\n");
} catch (Exception e) {
txt.append("Failed\n");
txt.append(e.getMessage()+"\n");
System.err.println(e.getMessage());
}
}
public void init() {
openURL("http://www.buienradar.nl/");
openURL("http://buienradar.nl/");
openURL("http://www.google.nl/");
openURL("http://whatismyipaddress.com/");
openURL("http://www.google.com/");
openURL("http://www.nrg.eu/");
openURL("http://www.ecn.nl/");
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
cp.add(BorderLayout.CENTER, txt);
}
}
Et le résultat est:
http://www.buienradar.nl/: Failed
access denied (java.net.SocketPermission www.buienradar.nl:80 connect,resolve)
http://buienradar.nl/: Failed
access denied (java.net.SocketPermission buienradar.nl:80 connect,resolve)
http://www.google.nl/: Failed
access denied (java.net.SocketPermission www.google.nl:80 connect,resolve)
http://whatismyipaddress.com/: Succes
http://www.google.com/: Failed
access denied (java.net.SocketPermission www.google.com:80 connect,resolve)
http://www.nrg.eu/: Failed
access denied (java.net.SocketPermission www.nrg.eu:80 connect,resolve)
http://www.ecn.nl/: Failed
access denied (java.net.SocketPermission www.ecn.nl:80 connect,resolve)
Je comprends le "accès refusé" repsonses, mais pourquoi l'accès a été accordé à http://whatismyipaddress.com
Je me félicite de réponses ou conseils ou suggestions pour référence.
Cher Dacwe,
Merci pour votre réponse.
Le nom de mon serveur n'est pas whatismyipaddress.com.
Je mis l'applet sur un serveur: http://www.vitanova.co.nr/test/TestPermissions.html
le code est à:
http://www.vitanova.co.nr/test/where/TestPermissions.java
En outre applet mettre une autre sur le serveur qui obtient des données à partir whatismyipaddress.com (en fait la emplacement déterminé du PC) et essaie d'obtenir des données météorologiques de buienradar pour cet emplacement, ce dernier échoue en raison de la sécurité de l'applet.
http://www.vitanova.co.nr/test/ReadURL.html
le code est à:
http://www.vitanova.co.nr/test/where/ReadURL.java
Le nom de mon serveur n'est pas whatismyipaddress.com. J'ai mis l'applet sur un serveur: [link] (http://www.vitanova.co.nr/test/TestPermissions.html) – jacquesb
Merci, j'ai ajouté plus d'infos à ma question. – jacquesb