当前位置: 首页>>代码示例>>Java>>正文


Java AbstractHttpClient类代码示例

本文整理汇总了Java中org.apache.http.impl.client.AbstractHttpClient的典型用法代码示例。如果您正苦于以下问题:Java AbstractHttpClient类的具体用法?Java AbstractHttpClient怎么用?Java AbstractHttpClient使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


AbstractHttpClient类属于org.apache.http.impl.client包,在下文中一共展示了AbstractHttpClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: execute

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
/** 执行网络访问 */
private static HttpResult execute(String url, HttpRequestBase requestBase) {
	boolean isHttps = url.startsWith("https://");//判断是否需要采用https
	AbstractHttpClient httpClient = HttpClientFactory.create(isHttps);
	HttpContext httpContext = new SyncBasicHttpContext(new BasicHttpContext());
	HttpRequestRetryHandler retryHandler = httpClient.getHttpRequestRetryHandler();//获取重试机制
	int retryCount = 0;
	boolean retry = true;
	while (retry) {
		try {
			HttpResponse response = httpClient.execute(requestBase, httpContext);//访问网络
			if (response != null) {
				return new HttpResult(response, httpClient, requestBase);
			}
		} catch (Exception e) {
			IOException ioException = new IOException(e.getMessage());
			retry = retryHandler.retryRequest(ioException, ++retryCount, httpContext);//把错误异常交给重试机制,以判断是否需要采取从事
		}
	}
	return null;
}
 
开发者ID:xfshipan,项目名称:miappstore,代码行数:22,代码来源:HttpHelper.java

示例2: createHTTPClient

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
private static AbstractHttpClient createHTTPClient() {
    AbstractHttpClient client = new DefaultHttpClient();
    String proxyHost = System.getProperty("https.proxyHost", "");
    if (!proxyHost.isEmpty()) {
        int proxyPort = Integer.parseInt(System.getProperty("https.proxyPort", "-1"));
        log.info("Using proxy " + proxyHost + ":" + proxyPort);
        HttpParams params = client.getParams();
        HttpHost proxy = new HttpHost(proxyHost, proxyPort);
        params.setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

        String proxyUser = System.getProperty(JMeter.HTTP_PROXY_USER, JMeterUtils.getProperty(JMeter.HTTP_PROXY_USER));
        if (proxyUser != null) {
            log.info("Using authenticated proxy with username: " + proxyUser);
            String proxyPass = System.getProperty(JMeter.HTTP_PROXY_PASS, JMeterUtils.getProperty(JMeter.HTTP_PROXY_PASS));

            String localHost;
            try {
                localHost = InetAddress.getLocalHost().getCanonicalHostName();
            } catch (Throwable e) {
                log.error("Failed to get local host name, defaulting to 'localhost'", e);
                localHost = "localhost";
            }

            AuthScope authscope = new AuthScope(proxyHost, proxyPort);
            String proxyDomain = JMeterUtils.getPropDefault("http.proxyDomain", "");
            NTCredentials credentials = new NTCredentials(proxyUser, proxyPass, localHost, proxyDomain);
            client.getCredentialsProvider().setCredentials(authscope, credentials);
        }
    }
    return client;
}
 
开发者ID:Blazemeter,项目名称:jmeter-bzm-plugins,代码行数:32,代码来源:HttpUtils.java

示例3: AsyncHttpRequest

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
public AsyncHttpRequest(AbstractHttpClient client, HttpContext context, HttpUriRequest request, ResponseHandlerInterface responseHandler) {
    this.client = client;
    this.context = context;
    this.request = request;
    this.responseHandler = responseHandler;

    //断点续传处理
    if (this.responseHandler instanceof BreakpointHttpResponseHandler) {
        BreakpointHttpResponseHandler breakpointHandler = (BreakpointHttpResponseHandler)this.responseHandler;
        File tempFile = breakpointHandler.getTempFile();
        if (tempFile.exists()) {
            long previousFileSize = tempFile.length();
            Log.e(tag, "previousFileSized: " + previousFileSize);
            this.request.setHeader("RANGE", "bytes=" + previousFileSize + "-");
        }
    }
}
 
开发者ID:LanguidSheep,项目名称:sealtalk-android-master,代码行数:18,代码来源:AsyncHttpRequest.java

示例4: execute

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
/** 执行网络访问 */
private static HttpResult execute(String url, HttpRequestBase requestBase) {
	boolean isHttps = url.startsWith("https://");//判断是否需要采用https
	AbstractHttpClient httpClient = HttpClientFactory.create(isHttps);
	HttpContext httpContext = new SyncBasicHttpContext(new BasicHttpContext());
	HttpRequestRetryHandler retryHandler = httpClient.getHttpRequestRetryHandler();//获取重试机制
	int retryCount = 0;
	boolean retry = true;
	while (retry) {
		try {
			HttpResponse response = httpClient.execute(requestBase, httpContext);//访问网络
			if (response != null) {
				return new HttpResult(response, httpClient, requestBase);
			}
		} catch (Exception e) {
			IOException ioException = new IOException(e.getMessage());
			retry = retryHandler.retryRequest(ioException, ++retryCount, httpContext);//把错误异常交给重试机制,以判断是否需要采取从事
			LogUtils.e(e);
		}
	}
	return null;
}
 
开发者ID:cuilitang,项目名称:CuiMarket,代码行数:23,代码来源:HttpHelper.java

示例5: AsyncHttpRequest

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
public AsyncHttpRequest(AbstractHttpClient client, HttpContext context, HttpUriRequest request, ResponseHandlerInterface responseHandler) {
     this.client = client;
     this.context = context;
     this.request = request;
     this.responseHandler = responseHandler;
     
     //断点续传处理
     if(this.responseHandler instanceof BreakpointHttpResponseHandler){
     	BreakpointHttpResponseHandler breakpointHandler = (BreakpointHttpResponseHandler)this.responseHandler;
     	File tempFile = breakpointHandler.getTempFile();
     	if (tempFile.exists()) {
	long previousFileSize = tempFile.length();
	Log.e(tag, "previousFileSized: " + previousFileSize);
	this.request.setHeader("RANGE", "bytes=" + previousFileSize + "-");
}
     }
 }
 
开发者ID:13120241790,项目名称:RongChat,代码行数:18,代码来源:AsyncHttpRequest.java

示例6: setupClient

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
/**
 * This method is used to capture Location headers after HttpClient redirect handling.
 */
private void setupClient(final AbstractHttpClient client) {
	this.client.addResponseInterceptor(new HttpResponseInterceptor() {
		@Override
		public void process(final HttpResponse response, final HttpContext context)
				throws HttpException, IOException {
			Header header = response.getFirstHeader("Location");
			if (header!=null) {
				String location = header.getValue();

				/*
				 * Append the base name to the Location header
				 */
				if (location.startsWith("/")) {
					String baseUrl = context.getAttribute(ExecutionContext.HTTP_TARGET_HOST).toString();
					location = baseUrl + location;
				}
				context.setAttribute("Location", location);
			}
		}
	});
}
 
开发者ID:Coffeeboys,项目名称:RenewPass,代码行数:25,代码来源:MechanizeAgent.java

示例7: setupCredentials

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
/**
 * Configure credentials and auth scheme on client if an authorization is 
 * available for url
 * @param client {@link HttpClient}
 * @param url URL to test 
 * @param credentialsProvider {@link CredentialsProvider}
 * @param localHost host running JMeter
 */
public void setupCredentials(HttpClient client, URL url,
        CredentialsProvider credentialsProvider, String localHost) {
    Authorization auth = getAuthForURL(url);
    if (auth != null) {
        String username = auth.getUser();
        String realm = auth.getRealm();
        String domain = auth.getDomain();
        if (log.isDebugEnabled()){
            log.debug(username + " > D="+domain+" R="+realm + " M="+auth.getMechanism());
        }
        if (Mechanism.KERBEROS.equals(auth.getMechanism())) {
            ((AbstractHttpClient) client).getAuthSchemes().register(
                    AuthSchemes.SPNEGO,
                    new FixedSPNegoSchemeFactory(isStripPort(url)));
            credentialsProvider.setCredentials(new AuthScope(null, -1, null), USE_JAAS_CREDENTIALS);
        } else {
            credentialsProvider.setCredentials(
                    new AuthScope(url.getHost(), url.getPort(), realm.length()==0 ? null : realm),
                    new NTCredentials(username, auth.getPass(), localHost, domain));
        }
    }
}
 
开发者ID:johrstrom,项目名称:cloud-meter,代码行数:31,代码来源:AuthManager.java

示例8: setConnectionAuthorization

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
/**
 * Setup credentials for url AuthScope but keeps Proxy AuthScope credentials
 * @param client HttpClient
 * @param url URL
 * @param authManager {@link AuthManager}
 * @param key key
 */
private void setConnectionAuthorization(HttpClient client, URL url, AuthManager authManager, HttpClientKey key) {
    CredentialsProvider credentialsProvider = 
        ((AbstractHttpClient) client).getCredentialsProvider();
    if (authManager != null) {
        if(authManager.hasAuthForURL(url)) {
            authManager.setupCredentials(client, url, credentialsProvider, localHost);
        } else {
            credentialsProvider.clear();
        }
    } else {
        Credentials credentials = null;
        AuthScope authScope = null;
        if(key.hasProxy && !StringUtils.isEmpty(key.proxyUser)) {
            authScope = new AuthScope(key.proxyHost, key.proxyPort);
            credentials = credentialsProvider.getCredentials(authScope);
        }
        credentialsProvider.clear(); 
        if(credentials != null) {
            credentialsProvider.setCredentials(authScope, credentials);
        }
    }
}
 
开发者ID:johrstrom,项目名称:cloud-meter,代码行数:30,代码来源:HTTPHC4Impl.java

示例9: createHttpClient

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
public static AbstractHttpClient createHttpClient()
{
    try
    {
        if (IS_HTTP_CLIENT_GE_4_2)
        {
            ClientConnectionManager poolingManager = (ClientConnectionManager) Class.forName(
                    "org.apache.http.impl.conn.PoolingClientConnectionManager").newInstance();
            ((ConnPoolControl<?>) poolingManager).setMaxTotal(DEFAULT_MAX_TOTAL);
            ((ConnPoolControl<?>) poolingManager).setDefaultMaxPerRoute(DEFAULT_MAX_PER_ROUTE);
            return new DefaultHttpClient(poolingManager, (HttpParams) null);
        } else {
            return new ThreadSafeHttpClient();
        }
    }
    catch (Exception e)
    {
        throw new IllegalStateException("Can not create http client.", e);
    }
}
 
开发者ID:edgehosting,项目名称:jira-dvcs-connector,代码行数:21,代码来源:SystemUtils.java

示例10: newClient

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
@Override
   protected Client newClient() {
ResteasyClientBuilder resteasyClientBuilder = new ResteasyClientBuilder();
ResteasyClient client = resteasyClientBuilder.establishConnectionTimeout(getTimeout(), TimeUnit.MILLISECONDS).socketTimeout(getTimeout(), TimeUnit.MILLISECONDS).build();
AbstractHttpClient httpClient = (AbstractHttpClient) ((ApacheHttpClient4Engine) client.httpEngine()).getHttpClient();
httpClient.setRedirectStrategy(new DefaultRedirectStrategy() {

    @Override
    protected boolean isRedirectable(String method) {
	return true;
    }
});
httpClient.addRequestInterceptor(new HttpRequestInterceptor() {

    @Override
    public void process(HttpRequest request, HttpContext context) throws HttpException, IOException {
	request.setParams(new AllowRedirectHttpParams(request.getParams()));
    }
});
return client;
   }
 
开发者ID:CurrentContinuation,项目名称:gigasetelements,代码行数:22,代码来源:GigasetElementsRestEasy.java

示例11: getCookie

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
/**
 * 获得cookie
 *
 * @param httpClient
 */
public static void getCookie(HttpClient httpClient) {
    List<Cookie> cookies = ((AbstractHttpClient) httpClient).getCookieStore().getCookies();
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < cookies.size(); i++) {
        Cookie cookie = cookies.get(i);
        String cookieName = cookie.getName();
        String cookieValue = cookie.getValue();
        if (!TextUtils.isEmpty(cookieName)
                && !TextUtils.isEmpty(cookieValue)) {
            sb.append(cookieName + "=");
            sb.append(cookieValue + ";");
        }
    }
    SharedPreferences.Editor edit = DemoContext.getInstance().getSharedPreferences().edit();
    edit.putString("DEMO_COOKIE", sb.toString());
    edit.apply();
}
 
开发者ID:yangyunfeng666,项目名称:demo-app-android-v2-2.3.9,代码行数:23,代码来源:NetUtils.java

示例12: setProxySettings

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
private void setProxySettings (org.apache.http.client.HttpClient client, HasProxySettings proxySettings, String prot)
{
	if (client == null)
		return ;
       if (proxySettings == null || !proxySettings.isActive())
       	return ;
       if (prot == null || prot.isEmpty())
       	return ;
                   
   	org.apache.http.HttpHost proxy = new org.apache.http.HttpHost(proxySettings.getHost(), proxySettings.getPort(), prot) ;
   	client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy) ;
   	
   	CredentialsProvider credProvider = ((AbstractHttpClient) client).getCredentialsProvider();
   	credProvider.setCredentials(
   			new AuthScope(proxySettings.getHost(), proxySettings.getPort()), 
   			new UsernamePasswordCredentials(proxySettings.getUsername(), proxySettings.getPassword()));  
}
 
开发者ID:roikku,项目名称:swift-explorer,代码行数:18,代码来源:HttpClientFactoryImpl.java

示例13: getHttpClient

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
/**
 * Returns the HttpClient singleton.
 */
public static synchronized HttpClient getHttpClient() {
    if (httpClient == null) {
        if (AppConfig.DEBUG) Log.d(TAG, "Creating new instance of HTTP client");

        HttpParams params = new BasicHttpParams();
        params.setParameter(CoreProtocolPNames.USER_AGENT, AppPreferences.USER_AGENT);
        params.setIntParameter("http.protocol.max-redirects", MAX_REDIRECTS);
        params.setBooleanParameter("http.protocol.reject-relative-redirect",
                false);
        HttpConnectionParams.setSoTimeout(params, SOCKET_TIMEOUT);
        HttpConnectionParams.setConnectionTimeout(params, CONNECTION_TIMEOUT);
        HttpClientParams.setRedirecting(params, true);

        httpClient = new DefaultHttpClient(createClientConnectionManager(), params);
        // Workaround for broken URLs in redirection
        ((AbstractHttpClient) httpClient)
                .setRedirectHandler(new APRedirectHandler());
    }
    return httpClient;
}
 
开发者ID:danieloeh,项目名称:AntennaPodSP,代码行数:24,代码来源:AntennapodHttpClient.java

示例14: get

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
@Override
public HttpClient get() {
    AbstractHttpClient client = new DefaultHttpClient() {
        @Override
        protected ClientConnectionManager createClientConnectionManager() {
            SchemeRegistry registry = new SchemeRegistry();
            registry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
            registry.register(new Scheme("https", getHttpsSocketFactory(), 443));

            final HttpParams params = getParams();
            HttpConnectionParams.setConnectionTimeout(params, CONNECTION_TIMEOUT);
            HttpConnectionParams.setSoTimeout(params, SO_TIMEOUT);
            HttpProtocolParams.setUserAgent(params, getUserAgentString(HttpProtocolParams.getUserAgent(params)));
            return new ThreadSafeClientConnManager(params, registry);
        }
    };
    return client;
}
 
开发者ID:ilkka,项目名称:haavi,代码行数:19,代码来源:HttpClientProvider.java

示例15: makeAuthenticationPreemptive

import org.apache.http.impl.client.AbstractHttpClient; //导入依赖的package包/类
/**
 * 
 * This function adds support for pre-emptive HTTP Authentication for an HttpClient.
 * 
 * @param httpClient
 */
public static void makeAuthenticationPreemptive(HttpClient httpClient) {
	HttpRequestInterceptor preemptiveAuth = new HttpRequestInterceptor() {
		public void process(final HttpRequest request,final HttpContext context) throws HttpException,IOException{
			AuthState authState = (AuthState) context
					.getAttribute(ClientContext.TARGET_AUTH_STATE);
			CredentialsProvider credsProvider = (CredentialsProvider) context
					.getAttribute(ClientContext.CREDS_PROVIDER);
			HttpHost targetHost = (HttpHost) context
					.getAttribute(ExecutionContext.HTTP_TARGET_HOST);

			if (authState.getAuthScheme() == null) {
				AuthScope authScope = new AuthScope(targetHost.getHostName(), targetHost.getPort());
				Credentials creds = credsProvider.getCredentials(authScope);
				if (creds != null) {
					authState.setAuthScheme(new BasicScheme());
					authState.setCredentials(creds);
				}
			}
		}
	};

	((AbstractHttpClient) httpClient).addRequestInterceptor(preemptiveAuth,0);
}
 
开发者ID:GSMADeveloper,项目名称:MobileConnectSDKTestApp,代码行数:30,代码来源:HttpUtils.java


注:本文中的org.apache.http.impl.client.AbstractHttpClient类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。