大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
前言:微博开放平台提供了微博数据的api接口,不仅可以直接通过api调用微博服务发布微博查询微博,更重要的是,可以在自己的网站上获得新浪微博api的授权,调用微博的某些内容,就好像我们再网站中看到好文章要分享到微博或者其他社交网站中一样,非常方便。
http://open.weibo.com/ 点击api接口,会跳转到api接口说明文档页面,你会发现api有很多功能,包括创建微博,删除微博,关注/取消关注等非常多的接口,但是每个接口都需要token才能访问。token从何而来?
,进入授权接口查看用法
https://api.weibo.com/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=code
因而这个请求适合在浏览器上做,因为用代码发请求还要模拟登录,或者使用登录后的cookie,非常麻烦。不过api中其他get请求不会有这个问题,直接带token即可。模拟登录可以使用selenium的webdriver 拿到 cookie,其他模拟登录的方式普遍非常麻烦。
当然,如果你内嵌到网站上,那登录就是用户的事了。
@Test public void test2() throws IOException { CloseableHttpClient client = HttpClients.createDefault(); CloseableHttpResponse response = null; RequestConfig config = RequestConfig.custom().setConnectTimeout(10000) .setSocketTimeout(10000).build(); HttpPost post = new HttpPost("https://api.weibo.com/2/statuses/update.json"); post.setConfig(config); List<NameValuePair> pairs = new ArrayList<>(); BasicNameValuePair p1 = new BasicNameValuePair("access_token",""); String content = "本条微博通过微博开放接口发送"; BasicNameValuePair p2 = new BasicNameValuePair("status", content); BasicNameValuePair p3 = new BasicNameValuePair("visible","0"); pairs.add(p1); pairs.add(p2); pairs.add(p3); post.setEntity(new UrlEncodedFormEntity(pairs,"utf-8")); response = client.execute(post); HttpEntity entities = response.getEntity(); System.out.println(EntityUtils.toString(entities,"UTF-8")); }
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166859.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...