首页 > 编程知识 正文

安卓第三方百度网盘下载,百度网盘第三方登录

时间:2023-05-04 05:29:10 阅读:136754 作者:2741

简单介绍实现过程:服务器通过网站访问创建的项目-项目返回到包含登录按钮的页面-服务器单击返回到项目跳转页面,并在后台获取代码值-提示服务器将access_token-后台获取的附加信息(如用户登录的ID、密码等)返回给服务器-服务器进行显示

具体实现过程:百度互联网开发者中心搜索

稍后点击登录,没有百度账户的收件人注册

点击申请记录

点击百度云官网

出现再次登录的画面,登录后出现提示,充实信息

当系统提示激活时,单击“创建项目”

输入工程名称,后两个不选择,根据需要选择

创建成功后显示

单击左侧的“安全设置许可证”

输入发布服务器的服务器信息。 不能选择以下访问限制: 你需要保证和自己的项目一致

例如:

完成后会显示提示

打开eclipse,然后打开web项目、servlet文件(例如BaiDu.)

import java.io.IOException;

import java.util.Map;

import javax.servlet.servlet exception;

import javax.servlet.http.http servlet;

import javax.servlet.http.http servlet request;

import javax.servlet.http.http无servlet轮询;

importorg.Apache.http.http entity;

importorg.Apache.http.httpresponse;

importorg.Apache.http.client.methods.http get;

importorg.Apache.http.impl.client.closeablehttpclient;

importorg.Apache.http.impl.client.http clients;

importorg.Apache.http.util.entity utils;

import com.Alibaba.fast JSON.JSON;

import com.Alibaba.fast JSON.type reference;

publicclassbaiduservletextendshttp servlet {

privatestaticfinallongserialversionuid=1l;

protectedvoiddoget (httpservletrequestrequest,HttpServletResponse response ) )。

throws ServletException,IOException {

(request,response );

}

protectedvoiddopost (httpservletrequestrequest,HttpServletResponse response ) )。

throws ServletException,IOException {

string code=request.getparameter (' code );

string redirect _ uri=' http://www.tan aixing.top/venu/Baidu servlet ';

string client _ secret=' sb6k4wfrv ze 9e D4 gg tgi6ut4frcgqdwk ';

string client _ id='4wdxaihn 6vz FGC2fiind kt4p ';

string URL1=' https://open API.Baidu.com/oauth/2.0/token? gant _ type=authorization _ codecode=' code

' client _ id=' client _ id ' client _ secret=' client _ secret ' redirect _ uri=' redirect _ uri ';

字符串内容1=' ';

try {

try {

            //创建一个HttpClient对象
            CloseableHttpClient httpClient = HttpClients.createDefault();
            //创建一个Get请求
            HttpGet getReq = new HttpGet(url1);

            getReq.addHeader("Accept",
                    "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8    ");
            getReq.addHeader("Accept-Encoding", "gzip, deflate, sdch, br");
            getReq.addHeader("Accept-Language", "zh-CN,zh;q=0.8");
            getReq.addHeader("Cache-Control", "max-age=0");
            getReq.addHeader("Connection", "keep-alive");
            getReq.addHeader("Host", "openapi.baidu.com");
            getReq.addHeader("User-Agent",
                    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36");

            HttpResponse res = httpClient.execute(getReq);

            HttpEntity entity = res.getEntity();
            content1 = EntityUtils.toString(entity, "UTF-8");

        } catch (Exception e) {
            e.printStackTrace();
        }

        Map<String, Object> map = JSON.parseObject(content1, new TypeReference<Map<String, Object>>() {
        });
        String access_token = (String) map.get("access_token");

        print(access_token, request, response);
    }

    public void print(String access_token,HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String content = "";
        String url = "https://openapi.baidu.com/rest/2.0/passport/users/getInfo?access_token=" + access_token + "";
         try{

//创建一个HttpClient对象
            CloseableHttpClient httpClient = HttpClients.createDefault();
            //创建一个Get请求
            HttpGet getReq = new HttpGet(url2);

            getReq.addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8    ");
            getReq.addHeader("Accept-Encoding", "gzip, deflate, sdch, br");
            getReq.addHeader("Accept-Language", "zh-CN,zh;q=0.8");
            getReq.addHeader("Cache-Control", "max-age=0");
            getReq.addHeader("Connection", "keep-alive");
            getReq.addHeader("Host", "openapi.baidu.com");
            getReq.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36");

            HttpEntity entity = httpClient.execute(getReq).getEntity();
            content = EntityUtils.toString(entity, "UTF-8");
            System.out.println(content);
        } catch (Exception e) {
            e.printStackTrace();
        }

        Map<String, Object> map = JSON.parseObject(content, new TypeReference<Map<String, Object>>() {});
        System.out.println(map);

        String baiduid = (String) map.get("userid");
        System.out.println(baiduid);
        //List list = JdbcUtils.getList(User.class, "select * from user where baiduid=" + baiduid);

//        if (list.size() == 0) {
        request.setAttribute("message", map);
        request.getRequestDispatcher("/result.jsp").forward(request, response);
//        } else {
//            User user = (User) list.get(0);
//            req.getSession().setAttribute("UserInfo", user);
//            req.getRequestDispatcher("/success.jsp").forward(req, res);
//        }
    }

}

新建jsp(如:index.jsp)文件,写入:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<script type="text/javascript">
        function bdlogin(){
            location.rel="external nofollow" href="https://openapi.baidu.com/oauth/2.0/authorize?response_type=code&client_id=4wdxaiHN6vzfGC2fiINDkT4p&redirect_uri=http://www.tanaixing.top/venu/BaiDuServlet&display=popup";
        }
</script>
<body>
<input type="button" value="百度登录" οnclick="bdlogin()">
</body>
</html>

 

再新建一个jsp文件(服务器输出信息),写入:

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <%=request.getAttribute("message") %>
</body>
</html>

 

 

 

 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。