欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
[原]Java模擬新浪和騰迅自動(dòng)登錄并發(fā)送微博(2013年3月更新可用) | IT癮

[原]Java模擬新浪和騰迅自動(dòng)登錄并發(fā)送微博(2013年3月更新可用)

標簽:| 發(fā)表時(shí)間:2013-03-14 08:47 | 作者:supercrsky
分享到:
出處:http://blog.csdn.net/supercrsky

1.準備工作

  只是登錄無(wú)需申請新浪和騰迅的開(kāi)發(fā)者賬號,如果需要發(fā)送微博功能,需要申請一個(gè)新浪和騰迅的開(kāi)發(fā)者賬號,并添加一個(gè)測試應用。

 過(guò)程請參考官方幫助文檔,申請地址:新浪:http://open.weibo.com    騰迅:http://dev.t.qq.com/

我們需要的是App Key和App Secre及redirect_URI,源代碼中已經(jīng)包含了我申請的測試key,但由于限制直接用我的key你們的賬號是無(wú)法登錄成功的。


2.注意事項

 1)需要注意的是應用的App Key和App Secre及redirect_URI,對應項目根目錄下的config.properties配置文件中的

client_ID=1745656892client_SERCRET=66056719c1d8ca7bcaf36f411217cefaredirect_URI=www.baidu.com

redirect_URI由于只是測試用并沒(méi)有直接的回調頁(yè)面,所以這里隨便填寫(xiě)一個(gè)地址就行了,但要注意與應用-高級設置里的“回調頁(yè)面”一致。

2)代碼中的測試賬號需要要自己添加測試賬號,新浪的在“應用信息-測試賬號”;騰迅的在“權限控制-創(chuàng )建白名單”中。當然直接用

開(kāi)發(fā)者賬號也可以。

3)發(fā)送微博引用了新浪的 weibo4j-oauth2-beta2.1.1.zip,騰迅的 Java_SDK_v1.2.1.7z。核心類(lèi)在util包下。

3.關(guān)鍵代碼

1)新浪

package org.utils;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.commons.httpclient.Header;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.methods.PostMethod;import org.apache.commons.httpclient.params.HttpMethodParams;import org.apache.http.HttpException;import org.core.weibo.sina.Oauth;import org.core.weibo.sina.Timeline;import org.core.weibo.sina.http.AccessToken;import org.core.weibo.sina.model.WeiboException;import org.core.weibo.sina.weibo4j.util.WeiboConfig;/*** * 模擬自動(dòng)登錄并發(fā)微博 * @author zdw * */public class Sina {	/***	 * 模擬登錄并得到登錄后的Token	 * @param username  用戶(hù)名	 * @param password  密碼	 * @return	 * @throws HttpException	 * @throws IOException	 */	public static  AccessToken getToken(String username,String password) throws HttpException, IOException 	{			String clientId = WeiboConfig.getValue("client_ID") ;			String redirectURI = WeiboConfig.getValue("redirect_URI") ;			String url = WeiboConfig.getValue("authorizeURL");						PostMethod postMethod = new PostMethod(url);			//應用的App Key 			postMethod.addParameter("client_id",clientId);			//應用的重定向頁(yè)面			postMethod.addParameter("redirect_uri",redirectURI);			//模擬登錄參數			//開(kāi)發(fā)者或測試賬號的用戶(hù)名和密碼			postMethod.addParameter("userId", username);			postMethod.addParameter("passwd", password);			postMethod.addParameter("isLoginSina", "0");			postMethod.addParameter("action", "submit");			postMethod.addParameter("response_type","code");			HttpMethodParams param = postMethod.getParams();			param.setContentCharset("UTF-8");			//添加頭信息			List<Header> headers = new ArrayList<Header>();			headers.add(new Header("Referer", "https://api.weibo.com/oauth2/authorize?client_id="+clientId+"&redirect_uri="+redirectURI+"&from=sina&response_type=code"));			headers.add(new Header("Host", "api.weibo.com"));			headers.add(new Header("User-Agent","Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/11.0"));			HttpClient client = new HttpClient();			client.getHostConfiguration().getParams().setParameter("http.default-headers", headers);			client.executeMethod(postMethod);			int status = postMethod.getStatusCode();			System.out.println(status);			if (status != 302)			{				System.out.println("token刷新失敗");				return null;			}			//解析Token			Header location = postMethod.getResponseHeader("Location");			if (location != null) 			{				String retUrl = location.getValue();				int begin = retUrl.indexOf("code=");				if (begin != -1) {					int end = retUrl.indexOf("&", begin);					if (end == -1)						end = retUrl.length();					String code = retUrl.substring(begin + 5, end);					if (code != null) {						Oauth oauth = new Oauth();						try{							AccessToken token = oauth.getAccessTokenByCode(code);							return token;						}catch(Exception e){							e.printStackTrace();						}					}				}			}		return null;	}	/**	 * 發(fā)微博	 * @param token  認證Token	 * @param content  微博內容	 * @return	 * @throws Exception	 */	public static boolean sinaSendWeibo(String token,String content) throws Exception {		boolean flag = false ;		Timeline timeline = new Timeline();		timeline.client.setToken(token);		try 		{			timeline.UpdateStatus(content);			flag = true ;		} 		catch (WeiboException e) 		{			flag = false ;			System.out.println(e.getErrorCode());		}		return flag;	}		public static void main(String[] args) throws Exception	{		AccessToken at = getToken("xxxx","xxx");		sinaSendWeibo(at.getAccessToken(),"測試呢");	}}

騰迅:

package org.utils;import java.io.ByteArrayOutputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.util.Scanner;import net.sf.json.JSONObject;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;import org.core.weibo.tencent.api.UserAPI;import org.core.weibo.tencent.oauthv2.OAuthV2;import org.core.weibo.tencent.oauthv2.OAuthV2Client;/*** * 騰迅自動(dòng)登錄并獲取個(gè)人信息 * @author zdw * */public class Tencent{	public static final String HEXSTRING = "0123456789ABCDEF";	public static OAuthV2 oAuth = new OAuthV2();	private static HttpClient client = new DefaultHttpClient();	// 初始oAuth應用信息	public static void init(OAuthV2 oAuth)	{		oAuth.setClientId("801216331");		oAuth.setClientSecret("ea71b26b0cbe5778cdd1c09ad17553a3");		oAuth.setRedirectUri("http://www.tencent.com/zh-cn/index.shtml");	}	/**	 * 	 * @param qq	 *            http://check.ptlogin2.qq.com/check?uin={0}&appid=15000101&r={1 }	 *            返回的第三個(gè)值	 * @param password	 *            QQ密碼	 * @param verifycode	 *            驗證碼	 * @return 加密后的密碼	 * @throws UnsupportedEncodingException	 * @throws Exception	 * 	 */	public static String GetPassword(String qq, String password,			String verifycode) throws Exception	{		String P = hexchar2bin(md5(password));		String U = md5(P + hexchar2bin(qq.replace("\\x", "").toUpperCase()));		String V = md5(U + verifycode.toUpperCase());		return V;	}		public static String md5(String originalText) throws Exception	{		byte buf[] = originalText.getBytes("ISO-8859-1");		StringBuffer hexString = new StringBuffer();		String result = "";		String digit = "";		try		{			MessageDigest algorithm = MessageDigest.getInstance("MD5");			algorithm.reset();			algorithm.update(buf);			byte[] digest = algorithm.digest();			for (int i = 0; i < digest.length; i++)			{				digit = Integer.toHexString(0xFF & digest[i]);				if (digit.length() == 1)				{					digit = "0" + digit;				}				hexString.append(digit);			}			result = hexString.toString();		}		catch (Exception ex)		{			result = "";		}		return result.toUpperCase();	}	public static String hexchar2bin(String md5str) throws UnsupportedEncodingException	{		ByteArrayOutputStream baos = new ByteArrayOutputStream(md5str.length() / 2);		for (int i = 0; i < md5str.length(); i = i + 2)		{			baos.write((HEXSTRING.indexOf(md5str.charAt(i)) << 4 | HEXSTRING					.indexOf(md5str.charAt(i + 1))));		}		return new String(baos.toByteArray(), "ISO-8859-1");	}	/***	 * 模擬登錄	 * @param qq QQ號碼 	 * @param password QQ密碼	 * @throws Exception	 */	public static void login(String qq, String password) throws Exception	{		HttpGet get = new HttpGet("https://ssl.ptlogin2.qq.com/check?uin="+ qq + "&appid=46000101&ptlang=2052&js_type=2&js_ver=10009&r=0.7948186025712065");		HttpResponse response = client.execute(get);		String entity = EntityUtils.toString(response.getEntity());		String[] checkNum = entity.substring(entity.indexOf("(") + 1,entity.lastIndexOf(")")).replace("'", "").split(",");		String pass = "";		String responseData = "";		// 獲取驗證碼(如果有驗證碼輸出到C:/code.jpg,查看后輸入可繼續執行		if ("1".equals(checkNum[0]))		{			// uin為qq號或者微博用戶(hù)名			HttpGet getimg = new HttpGet("http://captcha.qq.com/getimage?aid=46000101&r=0.3478789969909082&uin=" + qq + "&vc_type=" + checkNum[1] + "");			HttpResponse response2 = client.execute(getimg);			OutputStream os = new FileOutputStream("c:/code.jpg");			byte[] b = EntityUtils.toByteArray(response2.getEntity());			os.write(b, 0, b.length);			os.close();			Scanner in = new Scanner(System.in);			responseData = in.nextLine();			in.close();		}		else		{			responseData = checkNum[1];		}		/** *******************加密密碼 ************************** */		pass = GetPassword(checkNum[2], password, responseData);		/** *********************** 登錄 *************************** */		HttpGet getimg = new HttpGet("https://ssl.ptlogin2.qq.com/login?ptlang=2052&u="+ qq+ "&p="+ pass+ "&verifycode="+ responseData+ "&aid=46000101&target=top&u1=https%3A%2F%2Fopen.t.qq.com%2Fcgi-bin%2Foauth2%2Fauthorize%3Fclient_id%3D"						+ oAuth.getClientId()+ "%26response_type%3Dcode%26redirect_uri="+ oAuth.getRedirectUri()+ "&ptredirect=1&h=1&from_ui=1&dumy=&qlogin_param=abbfew=ddd&wording=%E6%8E%88%E6%9D%83&fp=loginerroralert&action=8-13-240977&g=1&t=1&dummy=&js_type=2&js_ver=10009");		HttpResponse response2 = client.execute(getimg);		HttpEntity httpentity = response2.getEntity();		String entityxc = EntityUtils.toString(httpentity);		System.out.println(entityxc);	}	/**	 * 	 * 請求微博開(kāi)放平臺應用 返回登錄授權頁(yè)面,但是如果沒(méi)有sessionKey的話(huà)永遠登錄不成功 sessionKey	 * 發(fā)現在返回的頁(yè)面中一個(gè)input標簽里放的url中有,所以要取到這個(gè)sessionKey 其實(shí)直接訪(fǎng)問(wèn)標簽中的url就可以跳轉	 * 	 */	public static String getUrl() throws ClientProtocolException, IOException	{		HttpGet getcode = new HttpGet("https://open.t.qq.com/cgi-bin/oauth2/authorize?client_id="+ oAuth.getClientId()+ "&response_type=code&redirect_uri="										+ oAuth.getRedirectUri()+ "&checkStatus=yes&appfrom=&g_tk&checkType=showAuth&state=");		HttpResponse response3 = client.execute(getcode);		HttpEntity entityqqq = response3.getEntity();		String entityxcc = EntityUtils.toString(entityqqq);		String form = entityxcc.substring(entityxcc.indexOf("<form"), entityxcc				.indexOf("</form>"));		String[] ss = form.split("/>");		String input = "";		for (int i = 0; i < ss.length; i++)		{			if (ss[i].indexOf("name=\"u1\"") > 0)			{				input = ss[i];			}			;		}		return input.substring(input.indexOf("value=\"") + 7, input.indexOf("\" type=\""));	}	/**	 * 解析并設置Token	 * @param get	 * @throws Exception 	 */	public static void setToken(HttpGet get) throws Exception	{		HttpResponse response4 = client.execute(get);		HttpEntity entityqqq1 = response4.getEntity();		String getUrlcode = EntityUtils.toString(entityqqq1);		// 返回了最終跳轉的頁(yè)面URL,也就是回調頁(yè)redirect_uri,頁(yè)面地址上包含code openid openkey		// 需要將這三個(gè)值單獨取出來(lái)再拼接成 code=xxxxx&openid=xxxxx&openkey=xxxxxx的形式		String entity = getUrlcode.substring(getUrlcode.indexOf("url="),getUrlcode.indexOf("\">"));		StringBuffer sb = new StringBuffer();		String[] arr = entity.split("\\?")[1].split("&");		for (int x = 0; x < arr.length; x++)		{			if (arr[x].indexOf("code") >= 0 || arr[x].indexOf("openid") >= 0					|| arr[x].indexOf("openkey") >= 0)			{				sb.append(arr[x] + "&");			}			;		}		// 利用code獲取accessToken		OAuthV2Client.parseAuthorization(sb.substring(0, sb.length() - 1), oAuth);		oAuth.setGrantType("authorize_code");		OAuthV2Client.accessToken(oAuth);	}	/***	 * 調用(騰迅開(kāi)放平臺賬戶(hù)接口)獲取一個(gè)人的信息	 * @throws Exception 	 */	public static void getInfo() throws Exception	{		//輸出Token,如果拿到了Token就代表登錄成功,并可以進(jìn)行下一步操作。		System.out.println("Token="+oAuth.getAccessToken());		UserAPI getuser = new UserAPI(oAuth.getOauthVersion());		String userJson = getuser.otherInfo(oAuth, "json", "", oAuth.getOpenid());		JSONObject userJsonObject = JSONObject.fromObject(userJson);		Integer errcode = (Integer) userJsonObject.get("errcode");		if (errcode == 0)		{			JSONObject userdataJsonObject = (JSONObject) userJsonObject.get("data");			System.out.println(userdataJsonObject.toString());		}	}		public static void main(String[] args) throws Exception	{		init(oAuth);		login("123145", "xxxx");		HttpGet get = new HttpGet(getUrl());		setToken(get);		getInfo();	}}

4.發(fā)送成功都有對應的日志輸出

新浪(最后一行日志):

2078 DEBUG [2013-03-14 16:35:29]  {"created_at":"Thu Mar 14 16:35:30 +0800 2013","id":3555791132949940,"mid":"3555791132949940","idstr":"3555791132949940","text":"測試呢","source":"...

騰迅:

登錄成功的日志標志:

ptuiCB('0','0','https://open.t.qq.com/cgi-bin/oauth2/authorize?client_id=801216331&response_type=code&redirect_uri=http:','1','登錄成功!', 'ㄗs:ヤ淡 啶');
查看個(gè)人信息成功后的日志標志:

QHttpClient httpGet [3] Response = {"data":{"birth_day":26,"birth_month":8,"birth_year":2011,"city_code":"2","comp":null,"country_code":"1","edu":null,"email":"","exp":141,"fansnum":..

日志未全列出,只是作為參考。

完整源碼下載

作者:supercrsky 發(fā)表于2013-3-14 16:47:53 原文鏈接
閱讀:106 評論:1 查看評論

相關(guān) [java 模擬 新浪] 推薦:

[原]Java模擬新浪和騰迅自動(dòng)登錄并發(fā)送微博(2013年3月更新可用)

- - 上善若水 厚德載物
  只是登錄無(wú)需申請新浪和騰迅的開(kāi)發(fā)者賬號,如果需要發(fā)送微博功能,需要申請一個(gè)新浪和騰迅的開(kāi)發(fā)者賬號,并添加一個(gè)測試應用.  過(guò)程請參考官方幫助文檔,申請地址:新浪:http://open.weibo.com    騰迅:http://dev.t.qq.com/. 我們需要的是App Key和App Secre及redirect_URI,源代碼中已經(jīng)包含了我申請的測試key,但由于限制直接用我的key你們的賬號是無(wú)法登錄成功的.  1)需要注意的是應用的App Key和App Secre及redirect_URI,對應項目根目錄下的config.properties配置文件中的. redirect_URI由于只是測試用并沒(méi)有直接的回調頁(yè)面,所以這里隨便填寫(xiě)一個(gè)地址就行了,但要注意與應用-高級設置里的“回調頁(yè)面”一致.

HttpClient 模擬登錄Web版新浪微博

- - zzm
其中密碼部分進(jìn)行了加密,加密的算法在網(wǎng)頁(yè)的js文件里,網(wǎng)上有人把它改成了Java代碼. 下面是SinaSSoEncoder類(lèi):. m += k.charAt((l[j >> 2] >> ((3 - j % 4) * 8 + 4)) & 15) + "". B[l] = d(B[l - 3] ^ B[l - 8] ^ B[l - 14] ^ B[l - 16], 1);. int C = e(e(d(z, 5), a(l, y, v, u)), e(e(s, B[l]), c(l)));. 轉:http://www.cnblogs.com/e241138/archive/2012/09/16/2687124.html.

HttpClient 模擬登錄手機版新浪微博

- - zzm
我們要做的就是獲取服務(wù)器需要的數據,然后用HttpClient模擬瀏覽器提交. go標簽內的href是我們第二次請求的地址,通過(guò)這個(gè)地址來(lái)獲取cookie. 用戶(hù)密碼那個(gè)field的name屬性是隨機變化的,需要先獲取它然后提交. 思路:先獲取表單的值,然后用POST方法提交. 注意添加RequestHeader信息,否則會(huì )被服務(wù)器拒絕(403). * 獲取手機版微博的cookies. 如果用戶(hù)名密碼正確的話(huà),應該就可以獲得cookie了. 接下來(lái)如果想要訪(fǎng)問(wèn)某些網(wǎng)頁(yè)只需要帶上cookie就行了. 由于新浪的網(wǎng)頁(yè)可能會(huì )變化,所以不保證此方法一直能用,不過(guò)大體思路應該是不會(huì )變的. 轉:http://www.cnblogs.com/e241138/archive/2012/09/16/2687120.html.

java模擬瀏覽器包htmlunit,selenium

- - BlogJava-首頁(yè)技術(shù)區
發(fā)現一個(gè)很不錯的模擬瀏覽器包htmlunit,它可以直接執行訪(fǎng)問(wèn)網(wǎng)站地址,并執行相應的JavaScript腳本;這個(gè)功能對于網(wǎng)站爬蟲(chóng)有很大的幫助,一些網(wǎng)站使用了ajax,如果使用簡(jiǎn)單的http訪(fǎng)問(wèn)只能抓到原始的html源碼,但對于頁(yè)面內執行的ajax卻無(wú)法獲??;使用這個(gè)包后,可以將執行ajax后的html源碼一并抓取下來(lái). 網(wǎng)站地址:http://htmlunit.sourceforge.net/. 該站點(diǎn)下邊還提到了幾個(gè)相類(lèi)似的包:HtmlUnit is used as the underlying "browser" by different Open Source tools like Canoo WebTest,.

新浪微游戲首現獨立的HTML5模擬經(jīng)營(yíng)類(lèi)游戲《瘋狂老板》

- - HTML5研究小組
微游戲是基于新浪微博平臺的好友關(guān)系及互動(dòng)而推出的一系列游戲. 目前微游戲中基本都是Flash游戲為主,而鮮少有真正更適合微博平臺的隨時(shí)隨地性的HTML5游戲. 2011年8月,《憤怒的小鳥(niǎo)》開(kāi)發(fā)商Rovio首先開(kāi)發(fā)出該游戲的HTML5版. 隨后,社交游戲巨頭Zynga也發(fā)布了三款適用于蘋(píng)果產(chǎn)品的HTML5游戲. Facebook的移動(dòng)HTML5游戲平臺斯巴達計劃也已被曝光. 而國內HTML5游戲才剛剛起步,微游戲亦是如此,直到今年的2月21日,微游戲平臺第一個(gè)獨立的HTML5模擬經(jīng)營(yíng)類(lèi)社交游戲《瘋狂老板》才上線(xiàn). 這款全新的HTML5游戲在討論區的公告如下:《瘋狂老板》是全新原創(chuàng )在電腦、平板電腦、手機都可通用的跨終端平臺游戲,由新浪微游戲首發(fā),而且只是在新浪一個(gè)平臺上發(fā)布,主題是創(chuàng )建公司當自己當老板的公司經(jīng)營(yíng)類(lèi)游戲.

JavaScript PC 模擬器

- kira - LinuxTOY
很難想象竟然用了這么久,Linux 才可以運行在瀏覽器的 JavaScript 引擎里面,要知道2008 年就可以在土豆上運行了~. 作者 Fabrice Bellard 使用 JavaScript 編寫(xiě)了一個(gè)簡(jiǎn)單的 PC 模擬器,包含32位 x86 兼容 CPU、8259 可編程中斷控制器、8254 可編程中斷計時(shí)器. 實(shí)現 16450 UART 串口設備. 用 JavaScript 實(shí)現一個(gè)終端. 編譯包含 FPU 模擬的 Linux 內核鏡像. 使用 Buildroot 創(chuàng )建文件系統并在啟動(dòng)時(shí)載入 RAM. 添加基本工具集 BusyBox,微型 C 編譯器 TinyCC,以及迷你編輯器 QEmacs.

根據新浪天氣API獲取各地天氣狀況(Java實(shí)現)

- - CSDN博客互聯(lián)網(wǎng)推薦文章
http://blog.csdn.net/cyxlzzs/article/details/7602469  新浪. http://blog.csdn.net/l_ch_g/article/details/8205817    新浪. http://blog.csdn.net/killtl/article/details/7312514  新浪. http://blog.csdn.net/qq910894904/article/details/7540093 新浪. http://blog.sina.com.cn/s/blog_417845750101d5ws.html 國家氣象局. http://www.verydemo.com/demo_c131_i42456.html 國家氣象局.

JavaScript Gameboy Color模擬器

- ashuai - Solidot
程序員Grant Galitz發(fā)布了一個(gè)用HTML5/JavaScript編寫(xiě)的GameBoy Color模擬器(源代碼),可以運行儲存在本地的ROM鏡像,游戲運行速度正常. 也有其他開(kāi)發(fā)者用JavaScript編寫(xiě)出了啟動(dòng)Linux的X86模擬器.

地形模擬演示Demo

- kongshanzhanglao - 博客園-首頁(yè)原創(chuàng )精華區
地形渲染的首先是創(chuàng )建一個(gè)三角網(wǎng)絡(luò )平面,然后調整平面頂點(diǎn)的y高度值,模擬地面的山丘和山谷,最后再繪制貼圖效果. 本文首先介紹如何生成三角網(wǎng)絡(luò )平面. 然后介紹如何通過(guò)高度圖調整平面高度. 以及使用BlendMap和3種材質(zhì)繪制貼圖效果的方法. 最后演示如何調整攝像機位置和移動(dòng)速度,在地面上行走. 一個(gè)m*n個(gè)頂點(diǎn)的平面由2*(m-1)*(n-1)個(gè)三角形組成. 首先生成頂點(diǎn)坐標,假設平面的中心在坐標原點(diǎn). 左上角的頂點(diǎn)坐標就為(-(m-1)*dx, 0, (n-1)*dz). 再生成索引,每個(gè)循環(huán)迭代中生成一個(gè)四邊形的兩個(gè)三角形的6個(gè)索引信息. 然后使用生成的頂點(diǎn)坐標和索引創(chuàng )建ID3DXMesh對象.

模擬銀河系的演化

- Yan - Solidot
加州大學(xué)Santa Cruz分校和瑞士蘇黎世理論物理研究院科的科學(xué)家利用NASA的Pleiades超級計算機,歷時(shí)9個(gè)月時(shí)間的運算,模擬了星系的起源和演化. 預印本發(fā)表在arXiv.org上. 他們所模擬的星系稱(chēng)為Eris. 研究小組首先從低分辨率開(kāi)始,模擬最初的暗物質(zhì)演化成一個(gè)類(lèi)銀河星系的控制中心,然后放大中心光環(huán)區,引入氣體粒子并大幅度提高分辨率,再追蹤粒子間的相互作用的演化.
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
利用HttpClient獲取網(wǎng)頁(yè)內容
用Java和Perl登錄新浪微博
httpclient教程
用HttpClient來(lái)模擬瀏覽器GET POST
客戶(hù)端post帶參數URL+XML,服務(wù)器端讀取
HttpClient入門(mén)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久