<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)提供的默認(rèn)的恢復(fù)策略
            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)絡(luò)異常
                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對于要求接受后繼服務(wù)的請求,象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 閱讀(12944) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 西西大胆无码视频免费| 毛片基地免费视频a| 亚洲A∨无码无在线观看| 人妻丰满熟妇无码区免费 | 美女扒开尿口给男人爽免费视频 | 精品亚洲成a人在线观看| 亚洲欧洲无码一区二区三区| 国产免费观看黄AV片| 一级看片免费视频| 亚洲欧洲国产精品香蕉网| **俄罗斯毛片免费| 精品久久久久亚洲| 亚洲1区1区3区4区产品乱码芒果| 免费人成年激情视频在线观看| 免费日本一区二区| 日韩亚洲不卡在线视频中文字幕在线观看| 亚洲AV无码专区日韩| 无码人妻精品中文字幕免费| 亚洲国产无线乱码在线观看 | www在线观看免费视频| 国产偷国产偷亚洲清高APP| 亚洲人成图片网站| 亚洲国产精品yw在线观看| 免费少妇a级毛片人成网| 午夜一级毛片免费视频| 免费人成在线观看视频高潮| 亚洲熟女www一区二区三区| 亚洲国产另类久久久精品黑人| 麻豆一区二区免费播放网站| 久久九九久精品国产免费直播| 亚洲最大中文字幕无码网站| 精品久久亚洲中文无码| 亚洲AV无码精品蜜桃| 亚洲情A成黄在线观看动漫软件 | 人妻巨大乳hd免费看| 亚洲乱码卡三乱码新区| 亚洲乱码无限2021芒果| 狠狠色香婷婷久久亚洲精品| 亚洲AV无码国产精品色午友在线| 免费国产一级特黄久久| 亚洲福利视频一区二区|