`
01jiangwei01
  • 浏览: 540912 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Sohu 获取AccessTocken

    博客分类:
  • java
 
阅读更多

工具类:摘录自新浪Api

/////////////////////////////////////////////////////////
//Bare Bones Browser Launch                            //
//Version 1.5 (December 10, 2005)                      //
//By Dem Pilafian                                      //
//Supports: Mac OS X, GNU/Linux, Unix, Windows XP      //
//Example Usage:                                       //
// String url = "http://www.centerkey.com/";           //
// BareBonesBrowserLaunch.openURL(url);                //
//Public Domain Software -- Free to Use as You Like    //
/////////////////////////////////////////////////////////

/**
 * @author Dem Pilafian
 * @author John Kristian
 */
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import javax.swing.JOptionPane;

public class BareBonesBrowserLaunch {

    public static void openURL(String url) {
        try {
            browse(url);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Error attempting to launch web browser:\n" + e.getLocalizedMessage());
        }
    }

    private static void browse(String url) throws ClassNotFoundException, IllegalAccessException,
            IllegalArgumentException, InterruptedException, InvocationTargetException, IOException,
            NoSuchMethodException {
        String osName = System.getProperty("os.name", "");
        if (osName.startsWith("Mac OS")) {
            Class fileMgr = Class.forName("com.apple.eio.FileManager");
            Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] { String.class });
            openURL.invoke(null, new Object[] { url });
        } else if (osName.startsWith("Windows")) {
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
        } else { // assume Unix or Linux
            String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
            String browser = null;
            for (int count = 0; count < browsers.lengt
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import sohu.api.example.util.BareBonesBrowserLaunch;

public class GetAccessTocken {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		
		getAuthorize("eAJUqlajMZQwaK5NTWL6","4nN6%0ZNc7C=WFIdSG7a=bzr1u(qWziFi%t3wcq4","http://www.baidu.com");

	}
	public static void getAuthorize(String client_id,String client_secret,String redirect_uri) throws ClientProtocolException, IOException{
		String openURL = "https://api.t.sohu.com/oauth2/authorize";
		openURL += "?client_id="+client_id;
		openURL += "&scope=basic&response_type=code"+
		"&redirect_uri="+redirect_uri;
		BareBonesBrowserLaunch.openURL(openURL );
		
		System.out.print("Hit enter when it's done.[Enter]:");
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String code = br.readLine();
		
		getAccessTocken( client_id, client_secret, code, redirect_uri );
		 
	}
	public static void getAccessTocken(String client_id,String client_secret,String code,String redirect_uri ) throws ClientProtocolException, IOException{
		String url = "https://api.t.sohu.com/oauth2/access_token";
		client_secret = (new sun.misc.BASE64Encoder()).encode( client_secret.getBytes() );    

		
		 DefaultHttpClient httpclient = new DefaultHttpClient();
		 HttpPost httpPost = new HttpPost(url);
	        List <NameValuePair> nvps = new ArrayList <NameValuePair>();
	        nvps.add(new BasicNameValuePair("client_id", client_id));
	        nvps.add(new BasicNameValuePair("client_secret", client_secret));
	        nvps.add(new BasicNameValuePair("code", code));
	        nvps.add(new BasicNameValuePair("redirect_uri", redirect_uri));
	        nvps.add(new BasicNameValuePair("grant_type", "authorization_code"));
	        httpPost.setEntity(new UrlEncodedFormEntity(nvps));
	        HttpResponse response2 = httpclient.execute(httpPost);
	        
	        HttpEntity entity2 = response2.getEntity();
	        String entitys = EntityUtils.toString( entity2);
	        System.out.println(entitys);
	        EntityUtils.consume(entity2);	
	}

}
 h && browser == null; count++) if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0) browser = browsers[count]; if (browser == null) throw new NoSuchMethodException("Could not find web browser"); else Runtime.getRuntime().exec(new String[] { browser, url }); } } }

 实际运行类:

 

分享到:
评论

相关推荐

    JS 使用搜狐接口获取客户端IP地址

    在JavaScript(JS)中,...首先,我们需要了解搜狐提供的获取IP地址的API接口。这个接口通常是HTTP或HTTPS请求,通过发送一个简单的GET请求就能返回用户的IP地址。例如,搜狐的IP接口可能是这样的: ```javascript ...

    搜狐api 授权登录和各种应用 接口完整版

    开发者需要先注册应用,获取Client ID和Client Secret,然后引导用户通过搜狐登录页面授权,获得Access Token,从而访问用户资源。 - 获取授权码(Authorization Code):用户同意授权后,搜狐会返回一个授权码,...

    JS简单获取客户端IP地址的方法【调用搜狐接口】

    本文实例讲述了JS简单获取客户端IP地址...使用搜狐接口获取客户端IP地址&lt;/title&gt; &lt;/head&gt; &lt;body&gt; [removed][removed] [removed] [removed](returnCitySN["cip"]+','+returnCitySN["cname"]) &lt;/sc

    获取外网IP地址

    取外网IP地址,在线测试宽带速度,测带宽,身份证查询,车牌归属地查询等!

    下载搜狐影音-搜狐影音官方播放器下载

    【描述】:“下载搜狐影音-搜狐影音官方播放器下载”这段描述明确了我们要讨论的主题,即获取并安装搜狐影音的官方播放器。这是一款由搜狐公司推出的媒体播放软件,旨在提供流畅、高清的视频播放体验,支持多种视频...

    爬取的搜狐新闻数据

    标题中的“爬取的搜狐新闻数据”意味着这个压缩包包含了通过网络爬虫技术从搜狐新闻网站获取的信息。网络爬虫是一种自动浏览互联网并抓取网页信息的程序,它能够批量收集网页上的各种数据,如新闻标题、内容、作者、...

    搜狐影音下载 3.2.0.0 官方正式版_搜狐影音播放器

    搜狐影音独创2d与3d 的easy转换模式,全新的加速模式、结合丰富的在线视频内容、让视频观看更高速、更便捷、更有趣。 流畅:高速加载保证所有的用户在观看搜狐视频时能够有非常流畅的视频体验 高效:软件体积小,...

    搜狐采集2013

    7. **API接口**:如果搜狐提供了公开的API,可能可以直接调用获取数据,这会简化数据获取过程,但需要了解和遵循相关的使用协议和限制。 【标签】"搜狐全网php"进一步强调了这个项目的核心技术栈是PHP,以及其在...

    安卓开发-新浪、腾讯、网易、搜狐微博OAuth认证整合Android版.zip.zip

    在实际开发中,为了统一处理这些社交平台的认证,通常会创建一个抽象的OAuth服务类,包含初始化、获取授权URL、处理回调、获取Access Token等方法。然后为每个具体的社交平台创建一个子类,覆盖抽象方法以适应不同...

    爬取搜狐号自媒体的所有文章

    现在有很多自媒体平台,如头条号、搜狐号、大鱼号、百家号等,每个人都可以成为创作者发布自己的作品。如果想把某个作者的文章都下下来,一篇一篇的下载会很麻烦,而用爬虫则会很简单,顺便还能练练手。这里就以抓取...

    H5获取外网IP地址,亲测有效

    利用搜狐网站获取外网IP在自己网站显示

    JS获取客户端IP地址、MAC和主机名的7个方法汇总

    ##### 方法三:使用搜狐接口获取IP 搜狐也提供了类似的接口服务,可以直接在页面中调用并显示客户端的IP地址及其所在地区。 **代码示例**: ```html &lt;script src="http://pv.sohu.com/cityjson?ie=utf-8"&gt;&lt;/script&gt;...

    搜狐操作题 搜狐操作题

    【标题】:“搜狐操作题 搜狐操作题” 在IT行业中,前端优化是提升网站性能、用户体验和搜索引擎排名的关键环节。对于“搜狐操作题”这样的上机考试题,我们需要从多个角度来分析页面存在的问题,并提出相应的改进...

    搜狐新闻通(内有源码)

    【搜狐新闻通】是一款能够获取并保存搜狐网新闻的开源应用。通过这款工具,用户可以实时获取最新的搜狐新闻,并将其存储在本地,便于日后查阅历史新闻内容。由于其开源特性,意味着开发者对代码的使用没有设置过多的...

    crawler_souhu_爬虫搜狐新闻_

    本项目"crawler_souhu_"就是针对搜狐新闻网站的一个爬虫示例,主要目的是获取新闻的基本信息,如标题、内容、图片链接以及发布时间等。 首先,我们来详细了解一下爬虫的基本概念。网络爬虫(Web Crawler)是通过...

    搜狐五笔搜狐五笔搜狐五笔搜狐五笔搜狐五笔

    【搜狐五笔输入法】 搜狐五笔是一款基于五笔字型编码规则的汉字输入法,由搜狐公司开发,旨在提供高效、便捷的打字体验。五笔字型是一种流行的汉字输入编码方式,它将汉字拆分成不同的部分,每个部分对应一个或多个...

    搜狐新闻分类语料库

    搜狐新闻分类语料库,主要包含 0 汽车 1 财经 2 IT 3 健康 4 体育 5 旅游 6 教育 7 招聘 8 文化 9 军事 十个分类,共50多万条记录

    搜狐影音安装版

    4. **软件更新**:定期检查软件更新,以获取最新的功能和修复已知问题,保持最佳使用体验。 5. **安全设置**:尽管软件被测试为无毒,但用户仍需开启杀毒软件的实时防护,以防潜在的安全风险。 总的来说,"搜狐影音...

    android获取公网ip地址 IPUtil.java

    通过异步任务来获取当前用户的ip地址,使用的时候调用getRemoteIP方法就可以,需要传一个可以获取公网ip的url地址,这个百多很多,比如,搜狐,淘宝之类的都有,同时还有一个超时的任务,具体看代码了

Global site tag (gtag.js) - Google Analytics