記錄請求手機驗證碼的一些波折

我們公司申請了一個請求發(fā)送手機短信的接口, 為了請求驗證碼的需求, 但是驗證碼這6位數(shù)需要移動端這邊生成, 而且此接口GET/POST皆可, 采取的是拼接網(wǎng)址的形式, 參數(shù)字典填空即可. 最后返回的數(shù)據(jù)格式竟是純文本.

感謝http://www.cnblogs.com/JM110/p/5547169.html
http://blog.csdn.net/cuibo1123/article/details/40938225

其中一個參數(shù)是將申請下來的用戶id和密碼拼接在一起, 然后經(jīng)過MD532位小寫加密, 再作為參數(shù)內(nèi)容.

(CC_LONG)這個修飾不加會有黃色報警

#pragma mark - md5 32位小寫加密
+ (NSString *)md5SecureIn32LowCased:(NSString *)str{
const char *cStr = [str UTF8String];
unsigned char result[16];
CC_MD5(cStr, (CC_LONG)strlen(cStr), result); // This is the md5 call
return [NSString stringWithFormat:@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",result[0], result[1], result[2], result[3],result[4], result[5], result[6], result[7],result[8], result[9], result[10], result[11],result[12], result[13], result[14], result[15]];
}

我使用AFN3.x進行的網(wǎng)絡(luò)請求, 請求之前, 要對AFHTTPSessionManager進行這些設(shè)置

manager.responseSerializer = [AFHTTPResponseSerializer serializer];
 manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects: @"text/plain",  nil];

而且還需要對拼接后的url字符串進行這一步操作, 不然直接崩在afn里面

urlStr = [urlStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

這個接口請求成功后, 接口文檔說是返回純文本格式, 但打印出來是類似于<1233 1231 1231>的東西, 內(nèi)容我是拿臉敲的. 我們知道這是NSData, 需要轉(zhuǎn)成字符串才看得懂.

首先我們對這個data進行過濾, 過濾掉非utf-8的東西, 再進行轉(zhuǎn)化.

//注意:如果是三字節(jié)utf-8梯澜,第二字節(jié)錯誤痹兜,則先替換第一字節(jié)內(nèi)容(認為此字節(jié)誤碼為三字節(jié)utf8的頭)瑰妄,然后判斷剩下的兩個字節(jié)是否非法剩辟;
+ (NSData *)replaceNoUtf8:(NSData *)data{
char aa[] = {'A','A','A','A','A','A'};                      //utf8最多6個字符辕近,當(dāng)前方法未使用
NSMutableData *md = [NSMutableData dataWithData:data];
int loc = 0;
while(loc < [md length])
{
    char buffer;
    [md getBytes:&buffer range:NSMakeRange(loc, 1)];
    if((buffer & 0x80) == 0)
    {
        loc++;
        continue;
    }
    else if((buffer & 0xE0) == 0xC0)
    {
        loc++;
        [md getBytes:&buffer range:NSMakeRange(loc, 1)];
        if((buffer & 0xC0) == 0x80)
        {
            loc++;
            continue;
        }
        loc--;
        //非法字符孕锄,將這個字符(一個byte)替換為A
        [md replaceBytesInRange:NSMakeRange(loc, 1) withBytes:aa length:1];
        loc++;
        continue;
    }
    else if((buffer & 0xF0) == 0xE0)
    {
        loc++;
        [md getBytes:&buffer range:NSMakeRange(loc, 1)];
        if((buffer & 0xC0) == 0x80)
        {
            loc++;
            [md getBytes:&buffer range:NSMakeRange(loc, 1)];
            if((buffer & 0xC0) == 0x80)
            {
                loc++;
                continue;
            }
            loc--;
        }
        loc--;
        //非法字符座掘,將這個字符(一個byte)替換為A
        [md replaceBytesInRange:NSMakeRange(loc, 1) withBytes:aa length:1];
        loc++;
        continue;
    }
    else
    {
        //非法字符,將這個字符(一個byte)替換為A
        [md replaceBytesInRange:NSMakeRange(loc, 1) withBytes:aa length:1];
        loc++;
        continue;
    }
}

return md;
}

最后將過濾完的data轉(zhuǎn)成utf-8形式的字符串, 就終于是我們?nèi)四芸炊奈淖至?/p>

NSString *str = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霹购,一起剝皮案震驚了整個濱河市佑惠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌齐疙,老刑警劉巖膜楷,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異贞奋,居然都是意外死亡赌厅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門轿塔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來特愿,“玉大人,你說我怎么就攤上這事勾缭∽嵴希” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵俩由,是天一觀的道長毒嫡。 經(jīng)常有香客問我,道長幻梯,這世上最難降的妖魔是什么兜畸? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任努释,我火速辦了婚禮,結(jié)果婚禮上膳叨,老公的妹妹穿的比我還像新娘洽洁。我一直安慰自己,他們只是感情好菲嘴,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布饿自。 她就那樣靜靜地躺著,像睡著了一般龄坪。 火紅的嫁衣襯著肌膚如雪昭雌。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天健田,我揣著相機與錄音烛卧,去河邊找鬼。 笑死妓局,一個胖子當(dāng)著我的面吹牛总放,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播好爬,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼局雄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了存炮?” 一聲冷哼從身側(cè)響起炬搭,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎穆桂,沒想到半個月后宫盔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡享完,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年灼芭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片般又。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡彼绷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出倒源,到底是詐尸還是另有隱情苛预,我是刑警寧澤句狼,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布笋熬,位于F島的核電站,受9級特大地震影響腻菇,放射性物質(zhì)發(fā)生泄漏胳螟。R本人自食惡果不足惜昔馋,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糖耸。 院中可真熱鬧秘遏,春花似錦、人聲如沸嘉竟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舍扰。三九已至倦蚪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間边苹,已是汗流浹背陵且。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留个束,地道東北人慕购。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像茬底,于是被迫代替她去往敵國和親沪悲。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容