Sina微博开放API代理设置

使用sina微博API时由于我这里上网是通过代理的,所以一直提示如下问题:
Caused by: java.net.SocketTimeoutException: connect timed out
我知道肯定是代理的问题,但刚接触sina API,实在无从下手,最后看到一篇博文,基本理清了问题症结。
 
sina API for Java 使用了httpclient连接,预留了设置代理的代码,但是他设置代理的代码调用了这句
 
client.getHostConfiguration().setProxy(proxyHost, proxyPort);
 
 
 public synchronized void setProxy(final String proxyHost, int proxyPort) {
        this.proxyHost = new ProxyHost(proxyHost, proxyPort); 
 }
 
org.apache.commons.httpclient.ProxyHost中源代码为
 
 public ProxyHost(final String hostname, int port) {
        super(hostname, port, Protocol.getProtocol("http"));
 }
 
可以看出默认初始化为http协议,而在weibo4j.http.HttpClient
public HttpClient(int maxConPerHost, int conTimeOutMs, int soTimeOutMs, int maxSize)中有代码
 
Protocol myhttps = new Protocol("https", new MySSLSocketFactory(), 443);
Protocol.registerProtocol("https", myhttps);
 
表明这里设置了协议为https,所以我们要做的就是要么将上面这两句注释掉,默认使用http协议,要么在代理设置时设置协议为https。
上一篇:LaTeX中CTeX版本日期格式设置英文


下一篇:Linux下的多进程编程初步