使用java代码获取新浪微博应用的access token
2023-09-14 09:03:09 时间
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", 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();
}
}
```要获取更多Jerry的原创文章,请关注公众号"汪子熙":
<img src="https://user-images.githubusercontent.com/5669954/61616089-2a87e180-ac9a-11e9-861d-c29c2cf897af.png">
相关文章
- 怎么用命令提示符运行JAVA代码_java命令提示符如何进入
- java局域网发送文件_Java如何实现局域网文件传输代码案例分享
- java 四舍五入运算_JAVA正确的四舍五入方法「建议收藏」
- java运行环境_如何搭建Java运行环境?
- java代码大全及详解_Java练级攻略[通俗易懂]
- java环境_Java基础篇——环境配置
- 编写java判断闰年_Java 判断闰年代码实例
- java webservice 实例_Java WebService 简单实例(附实例代码)
- java冒泡排序代码_Java冒泡排序
- Java 时间戳转date
- 最后一次!阿里第九版Java系统架构师+应用架构师面试突击宝典
- Java多态理解_什么是java多态
- Java入门代码_java编程自学网
- 反编译Java_java反编译的代码可以修改么
- 一个用基于Java语言编写的词法分析器代码的自动生成程序,模仿lex程序的需求应用设计 DokymeLex
- Java学习笔记之九java二维数组及其多维数组的内存应用拓展延伸详解编程语言
- 实现使用Java代码实现MySQL数据库连接(java连接mysql数据库代码)
- 注册MySQL,让你的Java技能更上一层楼(java注册mysql)
- Java问题-java进程占用内存过高,排查原因详解编程语言
- 持久化Java持久化技术与Redis高级应用(redis高级之java)
- Linux下配置Java开发环境的指南(linux配置java环境)
- Java实现Linux:跨平台解决方案(java 实现linux)
- Java编程在Linux上的应用(java编程 linux)
- 使用Java连接MySQL数据库的具体操作方法(java连接mysql代码)
- Java导入Oracle 实现快速数据传输(java导入oracle)
- 并发Redis锁保障Java并发性(redis锁实现java)
- 缓存使用Redis让Java代码更加迅速缓存设置(redis设置java)
- JAVA应用系统工具快捷托盘实例代码