http 连接问题,帮个忙~~~ 本帖最后由 yangc_83 于 2010-05-19 11:16:25 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 采用APACHE的HTTPCLIENT试试看,给你一个提交表单的例子package http.demo; import org.apache.commons.httpclient.*;import org.apache.commons.httpclient.cookie.*;import org.apache.commons.httpclient.methods.*; /** * 用来演示登录表单的示例 * @author Liudong */ public class FormLoginDemo { static final String LOGON_SITE = "192.168.1.169" ; static final int LOGON_PORT = 1234; public static void main(String[] args) throws Exception{ HttpClient client = new HttpClient(); client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT); // 模拟登录页面 login.jsp->main.jsp PostMethod post = new PostMethod( "/main.jsp" ); NameValuePair name = new NameValuePair( "name" , "ld" ); NameValuePair pass = new NameValuePair( "password" , "ld" ); post.setRequestBody( new NameValuePair[]{name,pass}); int status = client.executeMethod(post); System.out.println(post.getResponseBodyAsString()); post.releaseConnection(); // 查看 cookie 信息 CookieSpec cookiespec = CookiePolicy.getDefaultSpec(); Cookie[] cookies = cookiespec.match(LOGON_SITE, LOGON_PORT, "/" , false , client.getState().getCookies()); if (cookies.length == 0) { System.out.println( "None" ); } else { for ( int i = 0; i < cookies.length; i++) { System.out.println(cookies[i].toString()); } } // 访问所需的页面 main2.jsp GetMethodget=newGetMethod("/main2.jsp"); client.executeMethod(get); System.out.println(get.getResponseBodyAsString()); get.releaseConnection(); }} 因为我需要在j2me上用http来连接这个服务,也有问题。所以想用jsp用http来实现连接,看下数据j2me没有httpclient。 如果返回一串字母的话应该不至于要用流来处理lz何不试试用String result = conn.getResponseMessage();另外,很久没用过HttpURLConnection这种东西了,好像记得conn.getResponseCode()这个方式会去请求一次server,而lz第二次调用conn.getInputStream()的时候又去请求了一次server,产生了不必要的连接.好像是这样,记不清了,如果说错了,抱歉. 如果httpServer确实是在Stream中返回字符串的话,可能是因为编码问题造成in.read()未读取到结束标志 网上的说法:1,网络编程时未正确捕获java.net.SocketException,客户端先关闭就会报这个异常;2,数据库和应用服务器的网段不同.b。好像说防火墙的比较多。大部分是网络的原因。提交post的东西多,然后服务器接收就超时了c。如果weblogic server和数据库服务器不在同一台主机,会经常有这种情况。d。从根本上说是weblogic sp2的buge。一般是有些客户端已关闭,一些线程因为延迟等原因觉察不到此连接已结束,继续等到到出错或是 客户端那里不停刷或一个访问/刷新没完成前再刷,要让这个无用的线程死掉和这个错误如果不影响应用运行的话大可不必理会。有一种抛出这个异常的情况是:浏览器请求了一个服务器端资源,在响应回来之前转而请求其他的资源。这个时候最初的浏览器跟服务器的连接中断,服务器的peer程序就会reset那个connection。 注意协议 http请求协议头是有格式的噢。 java services wrapper 是收费的? Java Applet异步调用问题 请教大家:为什么SQL 2000 不能打上SP4补丁? jsp问题 小程序问题 JFrame里的JPanel切换成第二个JPane 编译又通不过,请再帮忙看看 本科毕业,一两年工作经验,熟悉J2EE,Oracle,Unix,英语四级,地点上海,这样的条件一般月薪能有多少? jbuild5中文帮助??????????? 比较对象大小== ,equals 题目求解` 一个布局怎么也调不好了,求助
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.cookie.*;
import org.apache.commons.httpclient.methods.*; /**
* 用来演示登录表单的示例
* @author Liudong
*/
public class FormLoginDemo {
static final String LOGON_SITE = "192.168.1.169" ;
static final int LOGON_PORT = 1234; public static void main(String[] args) throws Exception{
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT); // 模拟登录页面 login.jsp->main.jsp
PostMethod post = new PostMethod( "/main.jsp" );
NameValuePair name = new NameValuePair( "name" , "ld" );
NameValuePair pass = new NameValuePair( "password" , "ld" );
post.setRequestBody( new NameValuePair[]{name,pass});
int status = client.executeMethod(post);
System.out.println(post.getResponseBodyAsString());
post.releaseConnection(); // 查看 cookie 信息
CookieSpec cookiespec = CookiePolicy.getDefaultSpec();
Cookie[] cookies = cookiespec.match(LOGON_SITE, LOGON_PORT, "/" , false , client.getState().getCookies());
if (cookies.length == 0) {
System.out.println( "None" );
} else {
for ( int i = 0; i < cookies.length; i++) {
System.out.println(cookies[i].toString());
}
} // 访问所需的页面 main2.jsp
GetMethodget=newGetMethod("/main2.jsp");
client.executeMethod(get);
System.out.println(get.getResponseBodyAsString());
get.releaseConnection();
}
}
所以想用jsp用http来实现连接,看下数据
j2me没有httpclient。
String result = conn.getResponseMessage();另外,很久没用过HttpURLConnection这种东西了,好像记得conn.getResponseCode()这个方式会去请求一次server,而lz第二次调用conn.getInputStream()的时候又去请求了一次server,产生了不必要的连接.好像是这样,记不清了,如果说错了,抱歉.
1,网络编程时未正确捕获java.net.SocketException,客户端先关闭就会报这个异常;
2,数据库和应用服务器的网段不同.b。好像说防火墙的比较多。
大部分是网络的原因。提交post的东西多,然后服务器接收就超时了c。如果weblogic server和数据库服务器不在同一台主机,会经常有这种情况。
d。从根本上说是weblogic sp2的buge。一般是有些客户端已关闭,一些线程因为延迟等原因觉察不到此连接已结束,继续等到到出错或是 客户端那里不停刷或一个访问/刷新没完成前再刷,要让这个无用的线程死掉和这个错误如果不影响应用运行的话大可不必理会。有一种抛出这个异常的情况是:
浏览器请求了一个服务器端资源,在响应回来之前转而请求其他的资源。这个时候最初的浏览器跟服务器的连接中断,服务器的peer程序就会reset那个connection。