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(); }}returnsb.toString(); }}Copy the code

For more of Jerry’s original articles, please follow the public account “Wang Zixi “: