post方式实现html
一、java代码实现自动访问网站的代码java
try { /** post方式 */ HttpClient client = new HttpClient(); PostMethod postMethod = new PostMethod("http://localhost:8080/portal/check.jsp"); // 参数设置 postMethod.setParameter("channelid", "85"); // 执行postMethod client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "utf-8"); // 执行并返回状态 int status = client.executeMethod(postMethod); String getUrl = postMethod.getResponseBodyAsString(); System.out.println(getUrl); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
二、check.jsp类的代码服务器
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="utf-8" %> <% //经过栏目id判断用户对栏目权限; String channelid = (String) request.getParameter("channelid"); if(null==channelid||""==channelid){ response.getWriter().print(100); }else{ response.getWriter().print(200); } %>
三、其输出的结果为200.网络
get方式实现app
// 构造HttpClient的实例 HttpClient httpClient = new HttpClient(); // 建立GET方法的实例 GetMethod getMethod = new GetMethod(url); // 使用系统提供的默认的恢复策略 getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler()); // 定义一个输入流 InputStream ins = null; // 定义文件流 BufferedReader br = null; try { // 执行getMethod int statusCode = httpClient.executeMethod(getMethod); if (statusCode != HttpStatus.SC_OK) { System.err.println("方法失败: " + getMethod.getStatusLine()); } // 使用getResponseBodyAsStream读取页面内容, //这个方法对于目标地址中有大量数据须要传输是最佳的。 ins = getMethod.getResponseBodyAsStream(); String charset = getMethod.getResponseCharSet(); if (charset.toUpperCase().equals("ISO-8859-1")) { charset = "gbk"; } // 按服务器编码字符集构建文件流,这里的CHARSET要根据实际状况设置 br = new BufferedReader(new InputStreamReader(ins, getMethod .getResponseCharSet())); StringBuffer sbf = new StringBuffer(); String line = null; while ((line = br.readLine()) != null) { sbf.append(line); } String result = new String(sbf.toString().getBytes( getMethod.getResponseCharSet()), charset); // 输出内容 System.out.println(result); // 服务器编码 System.out.println("服务器编码是:" + getMethod.getResponseCharSet()); return result; } catch (HttpException e) { // 发生致命的异常,多是协议不对或者返回的内容有问题 System.out.println("请检查您所提供的HTTP地址!"); e.printStackTrace(); } catch (IOException e) { // 发生网络异常 e.printStackTrace(); } finally { // 关闭流,释放链接 } return null;