Index: src/main/java/org/apache/tika/gui/ParsingTransferHandler.java
===================================================================
--- src/main/java/org/apache/tika/gui/ParsingTransferHandler.java	(revision 755789)
+++ src/main/java/org/apache/tika/gui/ParsingTransferHandler.java	(working copy)
@@ -21,10 +21,12 @@
 import java.awt.datatransfer.Transferable;
 import java.awt.event.InputEvent;
 import java.io.File;
+import java.io.FileInputStream;
 import java.util.List;
 import java.util.StringTokenizer;
 import java.util.ArrayList;
 import java.net.URI;
+import java.net.URL;
 
 import javax.swing.Icon;
 import javax.swing.JComponent;
@@ -40,9 +42,11 @@
     private final TikaGUI tika;
 
     private static DataFlavor uriListFlavor;
+    private static DataFlavor urlListFlavor;
     static {
          try {
              uriListFlavor = new DataFlavor("text/uri-list;class=java.lang.String");
+             urlListFlavor = new DataFlavor("text/plain;class=java.lang.String");
          } catch (ClassNotFoundException e) {
          }
     }
@@ -54,7 +58,7 @@
 
     public boolean canImport(JComponent component, DataFlavor[] flavors) {
         for (DataFlavor flavor : flavors) {
-            if (flavor.equals(DataFlavor.javaFileListFlavor) || flavor.equals(uriListFlavor)) {
+            if (flavor.equals(DataFlavor.javaFileListFlavor) || flavor.equals(uriListFlavor) || flavor.equals(urlListFlavor)) {
                 return true;
             }
         }
@@ -64,16 +68,17 @@
     public boolean importData(
             JComponent component, Transferable transferable) {
         try {
-            List<?> files = null;
+            List<File> files = null;
             if (transferable.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
-                files = (List<?>)
-                    transferable.getTransferData(DataFlavor.javaFileListFlavor);
+                files = (List<File>) transferable.getTransferData(DataFlavor.javaFileListFlavor);
             } else if (transferable.isDataFlavorSupported(uriListFlavor)) {
                 files = uriToFileList((String) transferable.getTransferData(uriListFlavor));
+            } else if (transferable.isDataFlavorSupported(urlListFlavor)) {
+                tika.importStream(new URL((String) transferable.getTransferData(urlListFlavor)).openStream());
             }
 
-            for (Object file : files) {
-                tika.importFile((File) file);
+            for (File file : files) {
+                tika.importStream(new FileInputStream(file));
             }
             return true;
         } catch (Exception e) {
Index: src/main/java/org/apache/tika/gui/TikaGUI.java
===================================================================
--- src/main/java/org/apache/tika/gui/TikaGUI.java	(revision 755789)
+++ src/main/java/org/apache/tika/gui/TikaGUI.java	(working copy)
@@ -128,8 +128,7 @@
         this.parser = parser;
     }
 
-    public void importFile(File file) throws IOException {
-        InputStream input = new FileInputStream(file);
+   public void importStream(InputStream input) throws IOException {
         try {
             StringWriter htmlBuffer = new StringWriter();
             StringWriter textBuffer = new StringWriter();
@@ -141,10 +140,9 @@
                     getTextContentHandler(textBuffer),
                     getXmlContentHandler(xmlBuffer));
             Metadata md = new Metadata();
-            md.set(Metadata.RESOURCE_NAME_KEY, file.getName());
 
             input = new ProgressMonitorInputStream(
-                    this, "Parsing file " + file.getName(), input);
+                    this, "Parsing stream", input);
             parser.parse(input, handler, md);
 
             String[] names = md.names();
@@ -173,8 +171,8 @@
             tabs.setSelectedIndex(tabs.getTabCount() - 1);
             JOptionPane.showMessageDialog(
                     this,
-                    "Apache Tika was unable to parse the file "
-                    + file.getName() + ".\n See the errors tab for"
+                    "Apache Tika was unable to parse the file or url.\n "
+                    + " See the errors tab for"
                     + " the detailed stack trace of this error.",
                     "Parse error",
                     JOptionPane.ERROR_MESSAGE);
