【文件属性】:
文件名称:java微博模拟登陆+图片上传微博图床
文件大小:321KB
文件格式:RAR
更新时间:2021-07-15 13:01:36
微博模拟登陆 微博图床 java
使用springboot做基础框架,提供简单页面做图片上传,接口直接模拟微博登陆,上传完成后返回图片保存链接
public String getSinaCookies() {
String base64name = Base64Utils.encodeToString(username.getBytes());
String loginUrl = "https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)&_=1403138799543";
String params = "entry=sso&gateway=1&from=null&savestate=30&useticket=0&pagerefer;=&vsnf=1&su;=" + base64name;
params += "&service=sso&sp;=" + password + "&sr=1920*1080&encoding=UTF-8&cdult=3&domain=sina.com.cn&prelt=0&returntype=TEXT";
//登录
try {
URL url = new URL(loginUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
OutputStream out = conn.getOutputStream();
out.write(params.getBytes());
out.flush();
out.close();
String sessionId = "";
String cookieVal = "";
String key = null;
//取cookie
for (int i = 1; (key = conn.getHeaderFieldKey(i)) != null; i++) {
if (key.equalsIgnoreCase("set-cookie")) {
cookieVal = conn.getHeaderField(i);
cookieVal = cookieVal.substring(0, cookieVal.indexOf(";"));
sessionId = sessionId + cookieVal + ";";
}
}
if (sessionId != null) {
String[] cookiearr = sessionId.split(";");
for (int i = 0; i < cookiearr.length; i++) {
if (cookiearr[i].startsWith("SUB") && !cookiearr[i].startsWith("SUBP")) {
sessionId = cookiearr[i] + ";";
}
}
}
return sessionId;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
【文件预览】:
weibo
----weibo.iml(5KB)
----src()
--------test()
--------main()
----.idea()
--------libraries()
--------misc.xml(455B)
--------compiler.xml(622B)
--------workspace.xml(41KB)
--------encodings.xml(172B)
--------inspectionProfiles()
--------modules.xml(250B)
----pom.xml(2KB)
----bin()
--------weibo4j-oauth2.jar(136KB)
--------weibo4j-1.2.0.jar(170KB)