httclient的实现basic认证的方式,和以前的版本不同。形式如下
public static String setSetting1() throws ClientProtocolException, IOException, URISyntaxException
{
DefaultHttpClient client = new DefaultHttpClient();
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, new HttpHost("i2.api.weibo.com"));
String url = "http://xxxxx/2/common/apps/set_settings.json";
URI uri = new URI("http://xxxxxx/common/apps/set_settings.json");
client.getCredentialsProvider().setCredentials( new AuthScope(uri.getHost(), uri.getPort()), new UsernamePasswordCredentials("15810336966", "kobe1392936"));
HttpPost post = new HttpPost(url);
List <NameValuePair> params = new ArrayList <NameValuePair>();
params.add(new BasicNameValuePair("source", "2975945008"));
params.add(new BasicNameValuePair("item_id", "2"));
params.add(new BasicNameValuePair("settings", "[{\"name\":\"sky\"}]"));
HttpHost host = new HttpHost(uri.getHost(),uri.getPort(),"http");
AuthCache authCache = new BasicAuthCache();
// Generate BASIC scheme object and add it to the local auth cache
BasicScheme basicAuth = new BasicScheme();
authCache.put(host, basicAuth);
// Add AuthCache to the execution context
//uri.getHost();
BasicHttpContext localcontext = new BasicHttpContext();
localcontext.setAttribute(ClientContext.AUTH_CACHE, authCache);
post.setHeader("Content-Type", "application/x-www-form-urlencoded");
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params,
"UTF8");
post.setEntity(entity);
// client.execute(post);
// HttpResponse response =client.execute(post);
HttpResponse response = client.execute(host, post, localcontext);
//HttpResponse response =client.execute(post)
//System.out.println(url);
System.out.println("set "+EntityUtils.toString(response.getEntity()));
return null;
}
分享到:
相关推荐
HttpClient 4.2引入了`PoolingHttpClientConnectionManager`,实现了连接池功能,提高了性能。 3. `HttpRequestExecutor`:执行HTTP请求,将`HttpRequest`对象转化为实际的网络请求,并处理服务器的响应。 4. `...
5. **认证和安全**:HttpClient 4.2.1支持多种身份验证机制,包括Basic、Digest和NTLM。同时,它也支持HTTPS,通过`SSLContext`和`KeyStore`进行证书管理和加密。 6. **Cookie管理**:HttpClient 4.2.1的`...
2. **认证与安全**:HttpClient4.2支持多种身份验证机制,包括Basic、Digest、NTLM等,同时也支持SSL/TLS协议,可进行安全的HTTPS通信。 3. **重试策略**:HttpClient4.2内置了重试机制,当请求失败时,可以按照...
1. 身份认证:HttpClient支持多种身份验证机制,如Basic Auth、Digest Auth等,可以处理需要认证的HTTP服务。 2. 请求重试:通过设置`HttpRequestRetryHandler`,可以在请求失败时自动重试。 3. 自定义Cookie策略:...
6. **认证与安全**:HttpClient 支持多种认证机制,如 Basic、Digest、NTLM 等,通过 `CredentialsProvider` 和 `AuthSchemeRegistry` 进行配置。同时,它也支持 SSL/TLS 安全连接,可以进行证书和主机名验证。 7. ...
##### 4.2 认证方案 - **定义**:用于认证用户的协议。 - **示例**:Basic、Digest、NTLM等。 ##### 4.3 凭证提供者 - **定义**:管理用户凭证的对象。 - **实现方法**:使用DefaultCredentialsProvider类。 #####...
- **4.2 认证方案**: 如Basic、Digest等。 - **4.3 凭证提供者**: 存储用户凭证的对象。 - **4.4 HTTP认证和执行上下文**: 可以在执行上下文中传递认证信息。 - **4.5 认证数据缓存**: 为了减少认证请求,可以缓存...
在早期版本的HttpClient中,可以通过设置连接池中的`ConnectionManager`的超时值来实现超时控制: ```java PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setMaxTotal(100...
- **认证模式**: 支持多种认证机制,如Basic Auth、Digest Auth等。 **4.3 HTTP认证参数** - **认证参数**: 设置与认证相关的参数,如凭证存储位置等。 **4.4 认证模式注册表** - **注册表**: 存储和管理认证...
##### 4.2 认证方案 - 介绍了常见的HTTP认证方案,如Basic Auth、Digest Auth等。 ##### 4.3 HTTP认证参数 - 讨论了如何设置HTTP认证的相关参数。 ##### 4.4 认证方案注册表 - 介绍了如何注册和管理HTTP认证...
- **PoolingHttpClientConnectionManager**:HttpClient 4.2引入了连接池管理器,可以复用已建立的TCP连接,减少网络延迟,提高请求处理速度。 4. **请求与响应处理**: - **HttpRequestExecutor**:执行HTTP请求...
##### 4.2 认证方案 不同的认证方案具有不同的特性和适用场景,例如Basic、Digest、NTLM等。 ##### 4.3 凭证提供者 凭证提供者是管理用户凭证的对象,它可以用来存储和检索凭证信息。 ##### 4.4 HTTP认证和执行上...
- **高级认证机制**:支持Basic、Digest和NTLM等多种认证方式。 - **文件上传**:支持使用Multi-Part表单数据上传大文件。 - **持久连接**:支持HTTP/1.0中的KeepAlive和HTTP/1.1中的Persistance设置。 - **高效并发...
**4.2 认证方案**:列举常见的HTTP认证方案,如Basic Auth、Digest Auth等。 **4.3 凭证提供者**:讲解如何使用凭证提供者来管理用户的认证信息。 **4.4 HTTP认证和执行上下文**:介绍如何在执行上下文中处理HTTP...
- 支持多种身份验证方案,如Basic、Digest和NTLM。 **4.3 凭证提供者** - 用于存储和检索用户凭证的对象。 **4.4 HTTP身份验证与执行上下文** - 身份验证数据可以在执行上下文中存储和检索。 **4.5 认证数据...
6. Basic, Digest, NTLMv1, NTLMv2, NTLM2 Session, SNPNEGO/Kerberos认证方案。 7. 插件式的自定义认证方案。 8. 便携可靠的套接字工厂使它更容易的使用第三方解决方案。 9. 连接管理器支持多线程应用。支持设置...
3. **身份验证**:支持多种认证机制,包括Basic、Digest、NTLM等,方便在需要身份验证的环境中使用。 4. **重定向处理**:自动处理服务器返回的重定向响应,简化了开发流程。 5. **HTTP/1.1协议支持**:完全遵循...