用HttpClient访问网页不成功,麻烦帮我看下程序
import java.io.IOException;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
/**
* 提交参数演示
* 该程序连接到一个用于查询手机号码所属地的页面
* 以便查询号码段1330227所在的省份以及城市
* @author Liudong
*/
public class SimpleHttpClient {
public static void main(String[] args) throws IOException
{
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost( "www.imobile.com.cn ", 80, "http ");
HttpMethod method = getPostMethod();//使用POST方式提交数据
client.executeMethod(method);
//打印服务器返回的状态
System.out.println(method.getStatusLine());
//打印结果页面
String response =
new String(method.getResponseBodyAsString().getBytes( "8859_1 "));
//打印返回的信息
System.out.println(response);
method.releaseConnection();
}
* 使用POST方式提交数据
* @return
*/
private static HttpMethod getPostMethod(){
PostMethod post = new PostMethod( "/search2005.php ");
NameValuePair searchkeyword = new NameValuePair( "searchkeyword ", "1330227 ");
post.setRequestBody(new NameValuePair[] { searchkeyword});
return post;
}
}
编译通过,执行的时候出现的信息如下:
---------- java ----------
2007-9-10 11:48:37 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
信息: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect
2007-9-10 11:48:37 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
信息: Retrying request
2007-9-10 11:48:58 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
信息: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect
2007-9-10 11:48:58 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
信息: Retrying request
2007-9-10 11:49:19 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
信息: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect
2007-9-10 11:49:19 org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
信息: Retrying request
Exception in thread "main " java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:507)
at java.net.Socket.connect(Socket.java:457)
at java.net.Socket. <init> (Socket.java:365)
at java.net.Socket. <init> (Socket.java:238)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at SimpleHttpClient.main(SimpleHttpClient.java:38)
输出完成 (耗时: 1 分 27 秒) - 正常终止
[解决办法]
jf!
[解决办法]
呵呵,接分了
[解决办法]
真历害,做这些还是用 EditPlus,这些方法、类都记得住啊,佩服ing