当前位置 : 主页 > 编程语言 > java >

使用java代码获取新浪微博应用的access token代码实例

来源:互联网 收集:自由互联 发布时间:2021-07-07
本文实例为大家分享了java代码获取新浪微博应用的access token的具体代码,供大家参考,具体内容如下 package test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import ja

本文实例为大家分享了java代码获取新浪微博应用的access token的具体代码,供大家参考,具体内容如下

package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl.client.DefaultHttpClient;

public class WeiboAccessTokenRequest 
{
	static public void main(String[] arg)
	{
		//System.setProperty("http.proxyHost", "proxy.wdf.diablo.corp");
		//System.setProperty("http.proxyPort", "8080");
		HttpClient httpclient = new DefaultHttpClient();  

		HttpPost post = new HttpPost();
		URI url;
		try 
		{
			//url = new URI("https://api.weibo.com/oauth2/access_token");
			String request = "https://api.weibo.com/oauth2/access_token?client_id=3921363495&client_secret=bac53e1f9c1e66514cf7410e39d581dd"
					+ "&grant_type=authorization_code&code=7420036e360713bab82f62a5275aaba7&redirect_uri=https://api.weibo.com/oauth2/default.html";
			url = new URI(request);
			post.setURI(url);
			HttpHost proxy = new HttpHost("proxy.wdf.sap.corp", 8080);
			httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);

			/*post.addHeader("client_id", "3921363495");
			post.addHeader("client_secret", "bac53e1f9c1e66514cf7410e39d581dd");
			post.addHeader("grant_type", "authorization_code");
			post.addHeader("code", "7420036e360713bab82f62a5275aaba7");
			post.addHeader("redirect_uri", "https://api.weibo.com/oauth2/default.html");*/

			HttpResponse response = httpclient.execute(post);
			HttpEntity entity = response.getEntity();   
			if (entity == null)
			{
				System.out.println("response is null!");
				return;
			}   
			InputStream instreams = entity.getContent();   
			String str = convertStreamToString(instreams);  
			System.out.println("Do something");  
			System.out.println(str);  
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
		}
	}
		
	public static String convertStreamToString(InputStream is) 
	{    
		BufferedReader reader = new BufferedReader(new InputStreamReader(is));    
		StringBuilder sb = new StringBuilder();    
		String line = null;    
		try {    
			while ((line = reader.readLine()) != null) {  
				sb.append(line + "\n");    
				}    
		} catch (IOException e) {    
			e.printStackTrace();    
		} finally {    
			try {    
				is.close();    
			} catch (IOException e) {    
				e.printStackTrace();    
			}    
		}    
		return sb.toString();    
	}  

}

以上所述是小编给大家介绍的java代码获取新浪微博应用的access token实例详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对自由互联网站的支持!

网友评论