在后台如何实现发送一个http请求,但要求不跳转

zhenchuang99 2012-09-14 03:06:05
如题。
...全文
633 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhenchuang99 2012-10-08
  • 打赏
  • 举报
回复
内外网的问题。
小绵羊 2012-09-18
  • 打赏
  • 举报
回复
.UnknownHostException找不到主机如果确定主机是存在的,那只能说明一个问题,你的DNS解析出问题了
zhenchuang99 2012-09-18
  • 打赏
  • 举报
回复
几个版本在我电脑上都是同样的问题,在同事电脑上没有问题。纳闷了。
zhenchuang99 2012-09-18
  • 打赏
  • 举报
回复
为什么同样的代码,在同事电脑上就没有问题,在我的电脑上就是无法解析主机名称。我在windows的etc/hosts配置文件下配置了ip地址和主机名,又会出现连接超时。同样在同事电脑下一点问题都没有。
String POST_URL = "http://***.***.com:63000/yyy/yyyyyy.php?USER_ID=yyyy&PASSWORD=yyyyy&MOBILE="+mobile+"&CONTENT="+text;
System.out.println(POST_URL);
URL postUrl = new URL(POST_URL);
HttpURLConnection connection = (HttpURLConnection) postUrl
.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Type", "text/xml; charset=GB2312");
connection.connect();
DataOutputStream out = new DataOutputStream(connection
.getOutputStream());
...............
zhenchuang99 2012-09-17
  • 打赏
  • 举报
回复
使用httpclient模拟的post请求也同样出现了java.net.UnknownHostException: ****.*****.com(主机名)无法解析主机名。
但是这个请求直接在IE地址栏里是可以访问到的,这是什么原因?
NewMoons 2012-09-17
  • 打赏
  • 举报
回复
楼主其实自己挺明白的,剩下的就是自己查资料了而已。
不要问那么笼统的问题。
zhenchuang99 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
你用servelt或者struts2,来发布一个服务,然后用HttpClient,或者HttpUrlConnection,来模拟POST参数给前面用servelt或者struts2发布的服务,也就是你发布的Http;//localhost:8080/Project/myServlet这个服务。
如果你发布的是get服务就模拟get请求。
[/Quote]
如果是post到远程服务器上,有什么需要设置的吗?
varyall 2012-09-14
  • 打赏
  • 举报
回复
你用servelt或者struts2,来发布一个服务,然后用HttpClient,或者HttpUrlConnection,来模拟POST参数给前面用servelt或者struts2发布的服务,也就是你发布的Http;//localhost:8080/Project/myServlet这个服务。
如果你发布的是get服务就模拟get请求。
MiceRice 2012-09-14
  • 打赏
  • 举报
回复
POST请求的话,直接用URL这个,难度较大;主要是封装很差,此外也没有Cookie等管理。

建议用HttpClient这个开源组件包来做。
zhenchuang99 2012-09-14
  • 打赏
  • 举报
回复
每次执行到这句或者urlconn.connect(); 的时候总提示java.net.UnknownHostException: ***.***.com
zhenchuang99 2012-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你的需求看起来挺模糊的。。。

是用Java代码模拟发出HTTP的GET请求?

简单的可以直接: new URL("网址").openConnection() 然后就读取内容就行了。
[/Quote]
是用Java代码模拟发出HTTP的post请求,
String url="http://。。。。。。。.php";
URL postUrl = new URL(url);
HttpURLConnection urlconn = (HttpURLConnection) postUrl.openConnection();
urlconn.setRequestMethod("POST");
urlconn.setDoOutput(true);
String param="USER_ID=smsuser&PASSWORD=111111&MOBILE="+student.getMobile()+"&CONTENT="+content;
urlconn.getOutputStream().write(param.getBytes());//每次执行到这句或者urlconn.connect(); 的时候总提示找不到java.net.UnknownHostException: ***.***.com urlconn.getOutputStream().flush();
urlconn.getOutputStream().close();
InputStream in= urlconn.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(in));
StringBuilder tempStr=new StringBuilder();
while(rd.read()!=-1){
tempStr.append(rd.readLine());
}
MiceRice 2012-09-14
  • 打赏
  • 举报
回复
你的需求看起来挺模糊的。。。

是用Java代码模拟发出HTTP的GET请求?

简单的可以直接: new URL("网址").openConnection() 然后就读取内容就行了。
jchou 2012-09-14
  • 打赏
  • 举报
回复
httpclient 啊!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧