自己用JAVA做的一个网页解析程序,在2003下测试运行没有异常!但是到了xp和vista运行时只能打开图形界面,点击开始解析按钮时就无法解析出数据!请问有没这方面的高手能够给点提示,不胜感激!
以下是程序引用的类:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;import java.util.ArrayList;
import java.util.List;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;补充:先前做了一个xml文件的解析程序,在各种操作系统上运行都成功!
以下是这个运行成功引用的类:
import java.io.InputStream;
import java.util.Stack;import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;import java.io.FileInputStream;
以下是程序引用的类:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;import java.util.ArrayList;
import java.util.List;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;补充:先前做了一个xml文件的解析程序,在各种操作系统上运行都成功!
以下是这个运行成功引用的类:
import java.io.InputStream;
import java.util.Stack;import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.TreeItem;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;import java.io.FileInputStream;
更进一步的原因就说不上来了,毕竟没有看到源程序
问题原因已查明,由于需要反复访问同一个网站,所以设置了代理IP,代码如下:
public static void initProxy(String proxyHost, String proxyPort) {
// 方法一
System.getProperties().put("proxySet", "true");
System.getProperties().put("http.proxyHost", proxyHost);
System.getProperties().put("http.proxyPort", proxyPort);
System.out.println(System.getProperties());
/*方法二
*
* System.getProperties().setProperty("proxySet", "true");
System.getProperties().setProperty("http.proxyHost", proxyHost);
System.getProperties().setProperty("http.proxyPort", proxyPort);
System.out.println(System.getProperties());*/
/*问题的所在
*
System.setProperty("sun.net.client.defaultConnectTimeout", String
.valueOf(30000));
System.setProperty("sun.net.client.defaultReadTimeout", String
.valueOf(30000));*/
}
把最后2行代码注释掉,就可以了。但是搞不清楚最后2行代码为什么会导致异常以及到底是什么异常,虽然原因找到,但是还是不明白其中的奥妙,有没高人可以指点下的,我再次谢谢了!