Java 发起Http Post请求

对于一个 Java 小白,每完成一个新的功能,都表示相当不易,就连 Apache HttpClient 偶都表示没搞明白, 看起来好像不同版本还有不同的方法,没办法,还是借助于 Google,拼凑出了这一段代码,记录以备自己后用。

功能:使用 http post 方式访问某使用了 CNNIC 证书的站点(cnnic,唉,好多不信任)

/*
 * Java POST Example
 */

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.net.URLEncoder;
import java …
more ...

Java 使用自签证书访问https站点

最近被 Java 使用自签证书访问 https 的问题折腾得体无完肤,做为一名 Java 小白, 我也忍不住想感慨一下,不同 Java 程序员的水平差别真的好大,有些根本无法沟通, 都不知道他们怎么胜任日常的编码工作的=,= 同时做为一个 Java 黑,我觉得,好吧,更黑了。。

anyway,经过各种折腾,至少总结出了以下两种使用自签证书访问 https 站点的办法。

方法一

拿到相应的 https 站点证书后(好吧,我这里是cnnic.crt,顺便吐槽一下万恶的 cnnic 证书,各种不信任):

keytool -import -alias ${alias} -keystore ${JAVA_HOME}/jre/lib/security/cacerts -file ${path-to-certificate …
more ...

OpenID4Java 使用dumb模式(stateless)并禁用 discovery

使用无状态模式(dumb mode/stateless)发起 OpenID 认证请求:

manager = new ConsumerManager();
manager.getRealmVerifier().setEnforceRpId(false);
// 强制manager使用无状态模式
manager.setMaxAssocAttempts(0);

禁用 discovery

// 不要使用manager.discover构造discoveries
// List discoveries = manager.discover(userSuppliedString);
// 使用人肉构造discoveries
List discoveries = new ArrayList();
discoveries.add( new DiscoveryInformation( new URL("http//real.openid.server.url") ) );
more ...