关于HttpClient访问页面问题, 急!!!!!

爱吃苹果的琉克 2010-09-03 11:44:06
为什么我用HttpClient访问这样的url (http://10.0.0.32/appOper/dcAppStyle!monitorAppStyle.action?applicaiton=9527)时 返回的状态码为:302 ,但我 在url里直接写 一个类似 (http://10.0.0.32/jsp/app/showApp.jsp) 这样的 页面 能返回正确的结果.. 是不是HttpClient不能访问 action带参数的 这样的URL呀...还望各位 大虾 帮下忙。。。
...全文
120 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffcsrdc 2011-02-12
  • 打赏
  • 举报
回复
302说明页面有进行跳转,你要看看返回的数据包中是否有个location属性值,再用httpclient发一次包,地址就是location里面的值,这样返回的HTML源码就是正确的了。
closewbq 2010-09-03
  • 打赏
  • 举报
回复
HttpMethod method = new PostMethod(url);
method.setParams(p);
  • 打赏
  • 举报
回复
[Quote=引用楼主 superman1022 的回复:]
为什么我用HttpClient访问这样的url (http://10.0.0.32/appOper/dcAppStyle!monitorAppStyle.action?applicaiton=9527)时 返回的状态码为:302 ,但我 在url里直接写 一个类似 (http://10.0.0.32/jsp/app/showApp.jsp) 这样的 页面 能返回正确的结果.. 是不是HttpCli……
[/Quote]



String url = "http://10.0.0.32/appOper/dcAppStyle!monitorAppStyle.action";
PostMethod post = new PostMethod(url);

HttpMethodParams p = new HttpMethodParams();
p.setParameter("applicaiton","9527");

return post;

我怎样把参数 和post请求联系起来呀
closewbq 2010-09-03
  • 打赏
  • 举报
回复
当然可以带参数了!
但是你最好直接请求某个action
post的参数通过
HttpMethodParams p = new HttpMethodParams();
p.setParameter("","");
来设置!
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 closewbq 的回复:]
HttpMethod method = new PostMethod(url);
method.setParams(p);
[/Quote]


我在地址栏 直接 输入这个 url 可以访问...
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 closewbq 的回复:]
HttpMethod method = new PostMethod(url);
method.setParams(p);
[/Quote]

返回的状态还是302

public static void main(String[] args) {

try {
HttpClient client = new HttpClient();

HttpMethod method = getPostMethod(); // 使用POST方式提交数据

int statusCode = client.executeMethod(method);

// 打印服务器返回的状态
String state = method.getStatusLine().toString();
System.out.println("服务器返回的状态:" +state +" 状态码:" +statusCode);

// 打印结果页面
String response = new String(method.getResponseBodyAsString()
.getBytes("gb2312"));
// 打印返回的信息
System.out.println("结果页面" + response);

method.releaseConnection();

} catch (Exception e) {
e.printStackTrace();
}
}

private static HttpMethod getPostMethod() {

String url = "http://10.0.0.32/appOper/dcAppStyle!monitorAppStyle.action";

HttpMethodParams p = new HttpMethodParams();
p.setParameter( "applicaiton ", "9527 ");

HttpMethod post = new PostMethod(url);


post.setParams(p);

return post;

}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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