<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    package com.test;

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;

    import org.apache.commons.httpclient.Cookie;
    import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
    import org.apache.commons.httpclient.Header;
    import org.apache.commons.httpclient.HttpClient;
    import org.apache.commons.httpclient.HttpException;
    import org.apache.commons.httpclient.HttpStatus;
    import org.apache.commons.httpclient.NameValuePair;
    import org.apache.commons.httpclient.URI;
    import org.apache.commons.httpclient.cookie.CookiePolicy;
    import org.apache.commons.httpclient.cookie.CookieSpec;
    import org.apache.commons.httpclient.methods.GetMethod;
    import org.apache.commons.httpclient.methods.PostMethod;
    import org.apache.commons.httpclient.params.HttpMethodParams;

    public class HttpWeb {

        
    public static String getGetResponse(String url) {
            String html 
    = "";
            
    // 構(gòu)造HttpClient的實例
            HttpClient httpClient = new HttpClient();
            
    // 創(chuàng)建GET方法的實例
            GetMethod getMethod = new GetMethod(url);
            
    // 使用系統(tǒng)提供的默認的恢復策略
            getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
            
    try {
                
    // 執(zhí)行g(shù)etMethod
                int statusCode = httpClient.executeMethod(getMethod);
                
    if (statusCode != HttpStatus.SC_OK) {
                    System.err.println(
    "Method failed: " + getMethod.getStatusLine());
                }
                
    // 處理內(nèi)容
                html = getMethod.getResponseBodyAsString();
            } 
    catch (HttpException e) {
                
    // 發(fā)生致命的異常,可能是協(xié)議不對或者返回的內(nèi)容有問題
                System.out.println("Please check your provided http address!");
                e.printStackTrace();
            } 
    catch (IOException e) {
                
    // 發(fā)生網(wǎng)絡異常
                e.printStackTrace();
            } 
    finally {
                
    // 釋放連接
                getMethod.releaseConnection();
            }
            
    return html;
        }

        
    public static String getPostResponse(String url) throws HttpException, IOException {
            String html 
    = "";
            HttpClient httpClient 
    = new HttpClient();
            PostMethod postMethod 
    = new PostMethod(url);
            postMethod.setRequestHeader(
    "accept""*/*");
            postMethod.setRequestHeader(
    "connection""Keep-Alive");
            postMethod.setRequestHeader(
    "user-agent""Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
            postMethod.setRequestHeader(
    "Accept-Language""zh-cn,zh;q=0.5");
            
    // postMethod.setRequestHeader("Accept-Encoding", "gzip,deflate");
            
    // postMethod.setRequestHeader("Content-Type", "text/html;charset=utf-8");
            
    // 填入各個表單域的值
            NameValuePair[] data = { new NameValuePair("msg""你好") };
            
    // 將表單的值放入postMethod中
            postMethod.setRequestBody(data);
            
    // 執(zhí)行postMethod
            int statusCode = httpClient.executeMethod(postMethod);
            
    // HttpClient對于要求接受后繼服務的請求,象POST和PUT等不能自動處理轉(zhuǎn)發(fā)
            
    // 301或者302
            if (statusCode == HttpStatus.SC_MOVED_PERMANENTLY || statusCode == HttpStatus.SC_MOVED_TEMPORARILY) {
                
    // 從頭中取出轉(zhuǎn)向的地址
                Header locationHeader = postMethod.getResponseHeader("location");
                String location 
    = null;
                
    if (locationHeader != null) {
                    location 
    = locationHeader.getValue();
                    System.out.println(
    "The page was redirected to:" + location);
                } 
    else {
                    System.err.println(
    "Location field value is null.");
                }
                
    return html;
            }
            
    // html = postMethod.getResponseBodyAsString();

            System.out.println(postMethod.getResponseCharSet());
            
    // byte[] responseBody = postMethod.getResponseBody();

            BufferedReader in 
    = new BufferedReader(new InputStreamReader(postMethod.getResponseBodyAsStream(), postMethod
                    .getResponseCharSet()));
            StringBuffer sb 
    = new StringBuffer();
            
    int chari;
            
    while ((chari = in.read()) != -1) {
                sb.append((
    char) chari);
            }
            html 
    = sb.toString();
            in.close();
            postMethod.releaseConnection();

            CookieSpec cookiespec 
    = CookiePolicy.getDefaultSpec();
            postMethod.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
            URI uri 
    = postMethod.getURI();
            Cookie[] cookies 
    = cookiespec.match(uri.getHost(), uri.getPort() == -1 ? 80 : uri.getPort(), "/"false,
                    httpClient.getState().getCookies());
            
    for (Cookie cookie : cookies) {
                System.out.println(cookie.getName());
                System.out.println(cookie.getValue());
            }

            postMethod.setURI(
    new URI("http://www.ssread.com/zt/writecookie2.jsp"false));
            httpClient.executeMethod(postMethod);
            BufferedReader in2 
    = new BufferedReader(new InputStreamReader(postMethod.getResponseBodyAsStream(), postMethod
                    .getResponseCharSet()));
            StringBuffer sb2 
    = new StringBuffer();
            
    int chari2;
            
    while ((chari2 = in2.read()) != -1) {
                sb2.append((
    char) chari2);
            }
            html 
    = sb2.toString();
            in2.close();
            postMethod.releaseConnection();
            
    // PostMethod postMethod2 = new PostMethod("http://www.ssread.com/zt/writecookie2.jsp");
            
    // // httpClient.getState().addCookies(cookies);
            
    // httpClient.executeMethod(postMethod2);
            
    // BufferedReader in2 = new BufferedReader(new InputStreamReader(postMethod2.getResponseBodyAsStream(),
            
    // postMethod2.getResponseCharSet()));
            
    // StringBuffer sb2 = new StringBuffer();
            
    // int chari2;
            
    // while ((chari2 = in2.read()) != -1) {
            
    // sb2.append((char) chari2);
            
    // }
            
    // html = sb2.toString();
            
    // in2.close();
            
    // postMethod2.releaseConnection();
            return html;
        }

        
    public static class UTF8PostMethod extends PostMethod {
            
    public UTF8PostMethod(String url) {
                
    super(url);
            }

            @Override
            
    public String getRequestCharSet() {
                
    return super.getRequestCharSet();
                
    // return "UTF-8";
            }
        }

        
    public static void main(String[] args) throws HttpException, IOException {
            System.out.println(HttpWeb.getPostResponse(
    "http://www.ssread.com/zt/writecookie.jsp"));
        }
    }
    posted on 2009-06-25 17:52 SIMONE 閱讀(12940) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 免费看黄福利app导航看一下黄色录像| 噜噜嘿在线视频免费观看| 日韩色日韩视频亚洲网站| 亚洲神级电影国语版| 亚洲精品中文字幕无码蜜桃| 日本v片免费一区二区三区| 国产精品入口麻豆免费观看| 在线看片免费人成视频播| 污网站在线观看免费| 亚洲欧美国产欧美色欲| 亚洲人成网站在线观看播放青青| 国产亚洲真人做受在线观看| 亚洲国产天堂久久综合| 日本免费一二区在线电影| 无人影院手机版在线观看免费| 久久久久国产精品免费网站| a一级爱做片免费| 黄色免费在线观看网址| 亚洲а∨精品天堂在线| 亚洲欧美日韩一区二区三区在线| 亚洲AV综合色区无码二区偷拍 | 久久青青草原亚洲av无码app | 日韩欧美亚洲中文乱码| 最新亚洲卡一卡二卡三新区| 91亚洲国产成人久久精品| 亚洲经典在线中文字幕| 亚洲人成网www| 精品日韩亚洲AV无码一区二区三区 | 永久免费的网站在线观看| 免费福利视频导航| 国产91免费视频| 69成人免费视频| 国色精品卡一卡2卡3卡4卡免费| 蜜臀AV免费一区二区三区| 蜜桃AV无码免费看永久| 最近免费中文字幕大全免费版视频 | 日本免费福利视频| 又黄又爽的视频免费看| 亚洲高清成人一区二区三区| 亚洲午夜国产片在线观看| 亚洲无线码一区二区三区|