⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpurl.java

📁 Light in the box 抓取程序。 使用HttpClient
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    public char[] getRawScheme() {        return (_scheme == null) ? null : HttpURL.DEFAULT_SCHEME;    }    /**     * Get the scheme.  You can get the scheme explicitly.     *     * @return the scheme null if empty or undefined     */    public String getScheme() {        return (_scheme == null) ? null : new String(HttpURL.DEFAULT_SCHEME);    }    // --------------------------------------------------------------- The port    /**     * Get the port number.     * @return the port number     */    public int getPort() {        return (_port == -1) ? HttpURL.DEFAULT_PORT : _port;    }    // ----------------------------------------------------------- The userinfo    /**     * Set the raw-escaped user and password.     *     * @param escapedUser the raw-escaped user     * @param escapedPassword the raw-escaped password; could be null     * @throws URIException escaped user not valid or user required; escaped     * password not valid or username missed     */    public void setRawUserinfo(char[] escapedUser, char[] escapedPassword)        throws URIException {        if (escapedUser == null || escapedUser.length == 0) {            throw new URIException(URIException.PARSING, "user required");        }        if (!validate(escapedUser, within_userinfo)             || ((escapedPassword != null)             && !validate(escapedPassword, within_userinfo))) {            throw new URIException(URIException.ESCAPING,                    "escaped userinfo not valid");        }        String username = new String(escapedUser);        String password = (escapedPassword == null)             ? null : new String(escapedPassword);        String userinfo = username + ((password == null) ? "" : ":" + password);        String hostname = new String(getRawHost());        String hostport = (_port == -1) ? hostname : hostname + ":" + _port;        String authority = userinfo + "@" + hostport;        _userinfo = userinfo.toCharArray();        _authority = authority.toCharArray();        setURI();    }    /**     * Set the raw-escaped user and password.     *     * @param escapedUser the escaped user     * @param escapedPassword the escaped password; could be null     * @throws URIException escaped user not valid or user required; escaped     * password not valid or username missed     * @throws NullPointerException null user     */    public void setEscapedUserinfo(String escapedUser, String escapedPassword)        throws URIException, NullPointerException {        setRawUserinfo(escapedUser.toCharArray(), (escapedPassword == null)             ? null : escapedPassword.toCharArray());    }    /**     * Set the user and password.     *     * @param user the user     * @param password the password; could be null     * @throws URIException encoding error or username missed     * @throws NullPointerException null user     */    public void setUserinfo(String user, String password)         throws URIException, NullPointerException {        // set the charset to do escape encoding        String charset = getProtocolCharset();        setRawUserinfo(encode(user, within_userinfo, charset),                (password == null)                 ? null                 : encode(password, within_userinfo, charset));    }    /**     * Set the raw-escaped user.     *     * @param escapedUser the raw-escaped user     * @throws URIException escaped user not valid or user required     */    public void setRawUser(char[] escapedUser) throws URIException {        if (escapedUser == null || escapedUser.length == 0) {            throw new URIException(URIException.PARSING, "user required");        }        if (!validate(escapedUser, within_userinfo)) {            throw new URIException(URIException.ESCAPING,                    "escaped user not valid");        }        String username = new String(escapedUser);        char[] rawPassword = getRawPassword();        String password = rawPassword == null ? null : new String(rawPassword);        String userinfo = username + ((password == null) ? "" : ":" + password);        String hostname = new String(getRawHost());        String hostport = (_port == -1) ? hostname : hostname + ":" + _port;        String authority = userinfo + "@" + hostport;        _userinfo = userinfo.toCharArray();        _authority = authority.toCharArray();        setURI();    }    /**     * Set the escaped user string.     *     * @param escapedUser the escaped user string     * @throws URIException escaped user not valid     * @throws NullPointerException null user     */    public void setEscapedUser(String escapedUser)        throws URIException, NullPointerException {        setRawUser(escapedUser.toCharArray());    }    /**     * Set the user string.     *     * @param user the user string     * @throws URIException user encoding error     * @throws NullPointerException null user     */    public void setUser(String user) throws URIException, NullPointerException {        setRawUser(encode(user, allowed_within_userinfo, getProtocolCharset()));    }    /**     * Get the raw-escaped user.     *     * @return the raw-escaped user     */    public char[] getRawUser() {        if (_userinfo == null || _userinfo.length == 0) {            return null;        }        int to = indexFirstOf(_userinfo, ':');        // String.indexOf(':', 0, _userinfo.length, _userinfo, 0, 1, 0);        if (to == -1) {            return _userinfo; // only user.        }        char[] result = new char[to];        System.arraycopy(_userinfo, 0, result, 0, to);        return result;    }    /**     * Get the escaped user     *     * @return the escaped user     */    public String getEscapedUser() {        char[] user = getRawUser();        return (user == null) ? null : new String(user);    }    /**     * Get the user.     *     * @return the user name     * @throws URIException If {@link #decode} fails     */    public String getUser() throws URIException {        char[] user = getRawUser();        return (user == null) ? null : decode(user, getProtocolCharset());    }    /**     * Set the raw-escaped password.     *     * @param escapedPassword the raw-escaped password; could be null     * @throws URIException escaped password not valid or username missed     */    public void setRawPassword(char[] escapedPassword) throws URIException {        if (escapedPassword != null             && !validate(escapedPassword, within_userinfo)) {            throw new URIException(URIException.ESCAPING,               "escaped password not valid");        }        if (getRawUser() == null || getRawUser().length == 0) {            throw new URIException(URIException.PARSING, "username required");        }        String username = new String(getRawUser());        String password = escapedPassword == null ? null : new String(escapedPassword);        // an emtpy string is allowed as a password        String userinfo = username + ((password == null) ? "" : ":" + password);        String hostname = new String(getRawHost());        String hostport = (_port == -1) ? hostname : hostname + ":" + _port;        String authority = userinfo + "@" + hostport;        _userinfo = userinfo.toCharArray();        _authority = authority.toCharArray();        setURI();    }    /**     * Set the escaped password string.     *     * @param escapedPassword the escaped password string; could be null     * @throws URIException escaped password not valid or username missed     */    public void setEscapedPassword(String escapedPassword) throws URIException {        setRawPassword((escapedPassword == null) ? null             : escapedPassword.toCharArray());    }    /**     * Set the password string.     *     * @param password the password string; could be null     * @throws URIException encoding error or username missed     */    public void setPassword(String password) throws URIException {        setRawPassword((password == null) ? null : encode(password,                    allowed_within_userinfo, getProtocolCharset()));    }    /**     * Get the raw-escaped password.     *     * @return the raw-escaped password     */    public char[] getRawPassword() {        int from = indexFirstOf(_userinfo, ':');        if (from == -1) {            return null; // null or only user.        }        int len = _userinfo.length - from - 1;        char[] result = new char[len];        System.arraycopy(_userinfo, from + 1, result, 0, len);        return result;    }    /**     * Get the escaped password.     *     * @return the escaped password     */    public String getEscapedPassword() {        char[] password = getRawPassword();        return (password == null) ? null : new String(password);    }    /**     * Get the password.     *     * @return the password     * @throws URIException If {@link #decode(char[],String)} fails.     */    public String getPassword() throws URIException {        char[] password = getRawPassword();        return (password == null) ? null : decode(password,                getProtocolCharset());    }    // --------------------------------------------------------------- The path    /**     * Get the raw-escaped current hierarchy level.     *     * @return the raw-escaped current hierarchy level     * @throws URIException If {@link #getRawCurrentHierPath(char[])} fails.     */    public char[] getRawCurrentHierPath() throws URIException {        return (_path == null || _path.length == 0) ? rootPath             : super.getRawCurrentHierPath(_path);    }    /**     * Get the level above the this hierarchy level.     *     * @return the raw above hierarchy level     * @throws URIException If {@link #getRawCurrentHierPath(char[])} fails.     */    public char[] getRawAboveHierPath() throws URIException {        char[] path = getRawCurrentHierPath();        return (path == null || path.length == 0) ? rootPath : getRawCurrentHierPath(path);    }    /**     * Get the raw escaped path.     *     * @return the path '/' if empty or undefined     */    public char[] getRawPath() {        char[] path =  super.getRawPath();        return (path == null || path.length == 0) ? rootPath : path;    }    // -------------------------------------------------------------- The query    /**     * Set the query as the name and value pair.     *     * @param queryName the query string.     * @param queryValue the query string.     * @throws URIException incomplete trailing escape pattern     * Or unsupported character encoding     * @throws NullPointerException null query     * @see #encode     */    public void setQuery(String queryName, String queryValue)        throws URIException, NullPointerException {        StringBuffer buff = new StringBuffer();        // set the charset to do escape encoding        String charset = getProtocolCharset();        buff.append(encode(queryName, allowed_within_query, charset));        buff.append('=');        buff.append(encode(queryValue, allowed_within_query, charset));        _query = buff.toString().toCharArray();        setURI();    }    /**     * Set the query as the name and value pairs.     *     * @param queryName the array of the query string.     * @param queryValue the array of the query string.     * @throws URIException incomplete trailing escape pattern,     * unsupported character encoding or wrong array size     * @throws NullPointerException null query     * @see #encode     */    public void setQuery(String[] queryName, String[] queryValue)        throws URIException, NullPointerException {        int length = queryName.length;        if (length != queryValue.length) {            throw new URIException("wrong array size of query");        }        StringBuffer buff = new StringBuffer();        // set the charset to do escape encoding        String charset = getProtocolCharset();        for (int i = 0; i < length; i++) {            buff.append(encode(queryName[i], allowed_within_query, charset));            buff.append('=');            buff.append(encode(queryValue[i], allowed_within_query, charset));            if (i + 1 < length) {                 buff.append('&');            }        }        _query = buff.toString().toCharArray();        setURI();    }    // ---------------------------------------------------------------- Utility    /**     * Verify the valid class use for construction.     *     * @throws URIException the wrong scheme use     */    protected void checkValid() throws URIException {        // could be explicit protocol or undefined.        if (!(equals(_scheme, DEFAULT_SCHEME) || _scheme == null)) {            throw new URIException(URIException.PARSING, "wrong class use");        }    }    /**     * Once it's parsed successfully, set this URI.     *     * @see #getRawURI     */    protected void setURI() {        // set _uri        StringBuffer buf = new StringBuffer();        // ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?        if (_scheme != null) {            buf.append(_scheme);            buf.append(':');        }        if (_is_net_path) {            buf.append("//");            if (_authority != null) { // has_authority                if (_userinfo != null) { // by default, remove userinfo part                    if (_host != null) {                        buf.append(_host);                        if (_port != -1) {                            buf.append(':');                            buf.append(_port);                        }                    }                } else {                    buf.append(_authority);                }            }        }        if (_opaque != null && _is_opaque_part) {            buf.append(_opaque);        } else if (_path != null) {            // _is_hier_part or _is_relativeURI            if (_path.length != 0) {                buf.append(_path);            }        }        if (_query != null) { // has_query            buf.append('?');            buf.append(_query);        }        // ignore the fragment identifier        _uri = buf.toString().toCharArray();        hash = 0;    }    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -