자바 아 날로 그 쿠키 로그 인

2285 단어 Java
최근 에 선도 의 기능 인 터 페 이 스 를 핸드폰 끝 에 만 들 고 로그 인 을 할 때 선도 의 소스 코드 를 보 았 습 니 다. 쿠키 에 의 해 로그 인 되 었 기 때문에 아 날로 그 쿠키 로그 인 인 인 터 페 이 스 를 만 들 고 받 은 쿠키 를 인터페이스 요청 의 머리 에 넣 으 면 정상적으로 방문 할 수 있 습 니 다.
     
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * @Author: jljiang
 * @Description:Java   cookie  
 * @Date: Created in  2019/1/16 15:14
 */
public class ImitateLoginController {

    public static void main(String args[]) throws Exception {
        //      
        String loginStr = "http://zenta.51fb.com/index.php?m=user&f=login";
        /**
         *     URL  URLConnection  。 URLConnection       URL  。  : // Using
         * java.net.URL and //java.net.URLConnection
         */
        URL url = new URL(loginStr);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoOutput(true);
        OutputStreamWriter out = new OutputStreamWriter(connection
                .getOutputStream(), "GBK");
        //   account password          ,     html   
        out.write("account=you-user-name&password=you-password"); 
// remember to clean up
        out.flush();
        out.close();

//   cookie,   cookie                        
        String cookieVal = connection.getHeaderField("Set-Cookie");

/*------------------------------------      -------------------------------------------------*/
        String otherUrl = "http://zenta.51fb.com/index.php?m=bug&f=browse";
        url = new URL(otherUrl);
        HttpURLConnection otherConnection = (HttpURLConnection) url.openConnection();
        if(cookieVal != null){
            otherConnection.setRequestProperty("Cookie",cookieVal);
        }
        otherConnection.connect();
        InputStream urlStream = otherConnection.getInputStream();
        BufferedReader bufferedReader = new BufferedReader(
                new InputStreamReader(urlStream));
        String content = null;
        StringBuilder total = new StringBuilder();
        while ((content = bufferedReader.readLine()) != null) {
            total.append(content);
        }
        bufferedReader.close();
        System.out.println(content);
    }
}

      

좋은 웹페이지 즐겨찾기