freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于ios的新浪微博iphone客戶端的設(shè)計與實現(xiàn)畢業(yè)論文-資料下載頁

2025-07-01 20:07本頁面

【導(dǎo)讀】的研究工作獲得的研究成果。盡我所知,文中除特別標(biāo)注和致謝的地方外,北京理工大學(xué)或其它教育機(jī)構(gòu)的學(xué)位或證書所使用過的材料。說明并表示了謝意。解密后遵守此規(guī)定)。本課題的目的是開發(fā)一個基于iOS操作系統(tǒng)的新浪微博iOS客戶端客戶端軟件。SNS即社會性網(wǎng)絡(luò)服務(wù),旨在幫助人們建立社。會性網(wǎng)絡(luò)的互聯(lián)網(wǎng)應(yīng)用服務(wù)。模式叫做開放平臺。能,并對各個功能做了非常細(xì)膩的的需求分析與定義。第二步去確定系統(tǒng)的整體結(jié)構(gòu),然后進(jìn)行了有效的模塊劃分,確定了新浪微博iOS客戶端客戶端的設(shè)計方案。步是在iOS這款移動操作系統(tǒng)上進(jìn)行編碼實現(xiàn)。并對客戶端進(jìn)行了功能和性能測試,并對整個工作做了總結(jié)。地訪問新浪微博iOS客戶端數(shù)據(jù)和服務(wù)的需求。

  

【正文】 onnectionDidFinishLoading:(NSURLConnection *)connection 成功完成 URL LOADING 時調(diào)用 (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error URL LOADING 失敗時調(diào)用 (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 接收數(shù)據(jù)時調(diào)用,一個請求有可能多次調(diào)用該方法。 oAuth 授權(quán)模塊 為了使用新浪微博開放平臺提供的 API(應(yīng)用程序接口 ),你需要先注冊一個應(yīng)用。我們會給每一個應(yīng)用一個專屬的 App Key 和 App Secret。 Key 跟 Secret 的使用方式跟其他一些協(xié)議中的公鑰私鑰的方案相類似,你可以使用你所熟悉的編程語言將 key 和secret 結(jié)合,為你發(fā)出的每個請求添加簽名,以此來 向新浪微博開放平臺表明自己身份的合法性。新浪微博開放平臺使用的是 OAuth 版本。 所有的 OAuth 請求使用同樣的算法來生成 ((signature base string)簽名字符基串和簽名。 base string 是把 方法名,請求 URL 以及請求參數(shù)用 amp。字符連起來后做 URL Encode 編碼。具體來講, base string 由 方法名,之后是 amp。,接著是過 url 編碼(urlencoded)之后的 url 和訪問路徑及 amp。接下來,把所有的請求參數(shù)包括 POST 方法體中的參數(shù),經(jīng)過排序 (按參數(shù)名 進(jìn)行文本排序,如果參數(shù)名有重復(fù)則再安參數(shù)值進(jìn)行重復(fù)項口排序 ),使用 %3D 替代 =號,并且使用 %26 作為每個參數(shù)之間的分隔符,拼接北京理工大學(xué)碩 士學(xué)位論文 29 成一個字符串。 這個算法可以簡單表示為: url_encode( base_uri ) + amp。 + { | k, v | url_encode ( k ) + %3D + url_encode ( v ) 無論生成何種 請求 ,生成 BASE STRING 的規(guī)則始終不變。 新浪微博要求所有的 OAuth 請求 都使用 HMACSHA1 算法生成簽名。 獲取 request token 是進(jìn)行用戶認(rèn)證的第一步。這一步主要有兩個目的: 第一,告訴新浪微博你將要做什么。 第二,告訴新浪微博你在 callback 里要做什么。 新浪微博開放平臺的 request token 獲取接口地址為: 下面舉個例子,以下是請求用的參數(shù): oauth_callback oauth_consumer_key GDdmIQH6jhtmLUypg82g oauth_nonce QP70eNmVz8jvdPevU3oJD2AfF7R7odC2XJ4XlZJqk oauth_signature_method HMACSHA1 oauth_timestamp 1272323042 第一步,用上文提到的算法形成 BASE STRING。需要注意的是 callback 在 URL 中包含請求參數(shù),由于參 數(shù)只 CALLBACK URL 的一部分,所以并不需要將其提出成為獨立的參數(shù)。 URL 必須按照單個字符串來考慮。生成的 BASE STRING 如下: callback%3D%253A%252F%252Flocalhost%253A3005%252Fthe_dance%252F process_callback%253Fservice_provider_id%253D11%26oauth_consumer_ke y%3DGDdmIQH6jhtmLUypg82g%26oauth_nonce%3DQP70eNmVz8jvdPevU3oJD2AfF7 R7odC2XJ4XlZJqk%26oauth_signature_method%3DHMACSHA1%26oauth_time 由 于 我 們 還 未 獲 取 到 oauth_token 和 oauth_token_secret , 所 以 我 們 的 BASESTRING 里沒有包含 oauth_token 和 oauth_token_secret。 接下來使用 signing key(App Secret 后加一個 amp。符 ) 從 base string 生成北京理工大學(xué)碩 士學(xué)位論文 30 oauth_signature。 接下 來就可以向 發(fā)送請求。生成的 header 如下: oauth_callback=%3A%2F%2Flocalhost%3A3005%2Fthe_dance%2Fprocess_callback%3Fservice_provider_id%3D11, oauth_signature_method=HMACSHA1, oauth_timestamp=1272323042, oauth_consumer_key=GDdmIQH6jhtmLUypg82g, oauth_signature=8wUi7m5HFQy76nowoCThusfgB%2BQ%3D, 當(dāng)服務(wù)器端接到請求之后,會返回包含 oauth_token,oauth_token_secret 等內(nèi)容,另外 oauth_callback_confirmed 字段如果為 true 就表示 callback 生效。 這時需要將 oauth_token 和 oauth_token_secret 記下,我們需要用這個參數(shù)來獲取access token。 用戶認(rèn)證 這一步主要是發(fā)送你獲取的 oauth_token,并且獲得用戶的授權(quán)。一般來說, WEB 應(yīng)用會簡單的重定向到相應(yīng)的頁面 ,桌面應(yīng)用程序會給出 URL 并要求用戶自行驗證。 新浪微博開放平臺的驗證 URL 是 須以 oauth 作為參數(shù) ,一般來說請求格式如下: vzJYuLQpl0WUEYtWc 如果用戶沒有登錄新浪微博,則會要求用戶登錄。否則將會出現(xiàn)一個頁面,用戶可以在此頁面上一鍵同意或者拒絕對此應(yīng)用授權(quán)。用戶授權(quán)后, web 應(yīng)用頁面將會重定向至你指定的 oauth_callback,如果是桌面應(yīng)用 ,將會顯示 PIN 碼,用戶需要將 PIN 碼輸入你的應(yīng)用中來完成授權(quán)過程。如果使用了 callback,那么 oauth_callback 應(yīng)該已經(jīng)接到返回的信息 ,其中包含 oauth_token 和 oauth_verifier。 新浪微博開放平臺 access token 請求地址為: 以下是請求參數(shù)列表: oauth_nonce 9zWH6qe0qG7Lc1telCn7FhUbLyVdjEaL3MO5uHxn8 oauth_signature_method HMACSHA1 北京理工大學(xué)碩 士學(xué)位論文 31 oauth_token 8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc oauth_timestamp 1272323047 oauth_verifier pDNg57prOHapMbhv25RNf75lVRd6JDsni1AJJIDYoTY oauth_version 第一步,準(zhǔn)備 base string(使用上文提到的方法 ) onsumer_key%3DGDdmIQH6jhtmLUypg82g%26oauth_nonce%3D9zWH6qe0qG7Lc1te lCn7FhUbLyVdjEaL3MO5uHxn8%26oauth_signature_method%3DHMACSHA1%26oa uth_timestamp%3D1272323047%26oauth_token%3D8ldIZyxQeVrFZXFOZH5tAwj6 vzJYuLQpl0WUEYtWc%26oauth_verifier%3DpDNg57prOHapMbhv25RNf75lVRd6JD 然后向給定的 url 發(fā)送請求 ,請求頭部一定要包含 request token, request 頭部如下: oauth_signature_method=HMACSHA1, oauth_timestamp=1272323047, oauth_consumer_key=GDdmIQH6jhtmLUypg82g, oauth_token=8ldIZyxQeVrFZXFOZH5tAwj6vzJYuLQpl0WUEYtWc, oauth_verifier=pDNg57prOHapMbhv25RNf75lVRd6JDsni1AJJIDYoTY, oauth_signature=PUw%2FdHA4fnlJYM6RhXk5IU%2F0fCc%3D, 新 浪 微 博 開 放 平 臺 會 返 回 應(yīng) 用 需 要 的 信 息 , 包 括 用 戶 名 ,oauth_token/oauth_token_secret,其中這里的 oauth_token 就是 access token。 response內(nèi)容如下: _token_secret=J6zix3FfA9LofH0awS24M3HcBYXO5nI1iYe8EfBAamp。user_id=8197 現(xiàn)在就可以使用 access token 來發(fā)布和獲取信息了。 xAuth xAuth 是 OAuth 針對桌面、移動應(yīng)用的一個簡化版本 ,和 oAuth 一樣需生成basestring 的簽名。生成 basestring 簽名需用到 URL Encode 編碼和 HMACSHA1 算法。 URL Encode 編碼: URL編碼遵循下列規(guī)則:每對 name/value 由 amp。符分開;每對來自表單的 name/value 由 =符分開。如果用戶沒有輸入值給這個 name,那么這個 name 還是出現(xiàn),只是無值。任何特殊的字符(就是那些不是簡單的七位 ASCII,如漢字)將以百分符 %用十六進(jìn)制編碼,當(dāng)然也包括象 =, amp。,和 %這些特殊的字符。其實 url編碼就是一個字符 ascii 碼的十六進(jìn)制。不過稍微有些變動,需要在前面加上“ %”。 北京理工大學(xué)碩 士學(xué)位論文 32 URL String 的編碼和解碼實現(xiàn)如下: (NSString *)URLEncodedString { NSString*result=(NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocat orDefault, (CFStringRef)self, NULL, CFSTR(!*39。()。:@amp。=+$,/?%[]), kCFStringEncodingUTF8)。[result autorelease]。 return result。 } (NSString*)URLDecodedString { NSString*result=(NSString*)CFURLCreateStringByReplacingPercentEscapesUsingEn coding(kCFAllocatorDefault, (CFStringRef)self, CFSTR(), kCFStringEncodingUTF8)。 [result autorelease]。 return result。 } HMACSHA1 算法生成簽名: ( 1) HMAC 根據(jù) RFC 2316(Report of the IAB, April 1998), HMAC(散列消息身份驗證碼:Hashed Message Authentication Code)以及 IPSec 被認(rèn)為是 Interact 安全的關(guān)鍵性核心協(xié)議。它不是散列函數(shù),而是采用了將 MD5 或 SHA1 散列函數(shù)與共享機(jī)密密鑰 (與公鑰/私鑰對不同 )一起使用的消息身份驗證機(jī)制?;緛碚f,消息與密鑰組合并運(yùn)行散列函數(shù)。然后運(yùn)行結(jié)果與密鑰組合并再次運(yùn)行散列函數(shù)。這個 128 位的結(jié)果被截斷成 96 北京理工大學(xué)碩 士學(xué)位論文 33 位,成為 MAC。 ( 2) SHA 安全散列算法 SHA (Secure Hash Algorithm)是美國國家標(biāo)準(zhǔn)和技術(shù)局發(fā)布的國家標(biāo)準(zhǔn) FIPS PUB 1801,一般稱為 SHA1。其對長度不超過 264 二進(jìn)制位的消息產(chǎn)生 160 位的消息摘要輸出,按 512 比特塊處理其輸入。 SHA 是一種數(shù)據(jù)加密算法,該算法經(jīng)過加密專家多年來的發(fā)展和改進(jìn)已日益完善,現(xiàn)在已成為公認(rèn)的最安全的散列算法之一,并被廣泛使用。該算法的思想是接收一段明文,然后以一種不可逆的方式將它轉(zhuǎn)換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預(yù)映射或信息),并把它們轉(zhuǎn)化為長度較短、位數(shù)固定的輸出序列即散列值(也稱為信息摘要或信息認(rèn)證代碼)的過程。散列函數(shù)值可以說時對明文的一種“指紋”或是“摘要”所以對散 列值的數(shù)字簽名就可以視為對此明文的數(shù)字簽名。 ( 3) HMAC_SHA1 HMAC_SHA1(Hashed Message Authentication Code, Secure Hash Algorithm)是一種安全的基于加密 hash 函數(shù)和共享密鑰的消息認(rèn)證協(xié)議。它可以有效地防止數(shù)據(jù)在傳輸
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1