HTTPhelper.java 文件源码

java
阅读 33 收藏 0 点赞 0 评论 0

项目:superpipes 作者:
/**
 * Return all redirected URLs.
 *
 * @param builder Http client builder
 * @param source Source URI
 * @return a list of redirected URLs
 * @throws IOException
 */
public static List<URI> getRedirected( final HttpClientBuilder builder ,
                                       final URI source )
    throws IOException
{
    if ( builder == null || source == null )
    {
        throw new IllegalArgumentException();
    }

    final List<URI> uris = new ArrayList<>();

    builder.setRedirectStrategy( new DefaultRedirectStrategy()
    {

        @Override
        public HttpUriRequest getRedirect( final HttpRequest request ,
                                           final HttpResponse response ,
                                           final HttpContext context )
            throws ProtocolException
        {
            final HttpUriRequest r = super.getRedirect( request ,
                                                        response ,
                                                        context );

            uris.add( r.getURI() );

            return r;
        }

    } )
        .build();

    try( final CloseableHttpClient client = builder.build() )
    {
        final HttpGet get = new HttpGet( source );

        client.execute( get );

        get.abort();
    }

    return uris;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号