afnetworking 3.0 How to POST with headers and HTTP Body

一般請(qǐng)求的話是這樣

     AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
    session.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", nil];
    [session POST:@"" parameters:@"" progress:nil success:nil failure:nil];

但是今天遇到個(gè)不管怎么樣parameters都傳不到服務(wù)器那邊,而后臺(tái)那邊給我的解釋是傳輸用[request setHTTPBody:data];
而 afn 2.0 是這樣的

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:parameters
   options:0
     error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

// And finally, add it to HTTP body and job done.
[request setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer.timeoutInterval=[[[NSUserDefaults standardUserDefaults] valueForKey:@"timeoutInterval"] longValue];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
AFHTTPRequestOperation *operation = [manager HTTPRequestOperationWithRequest:request progress:nil success:^(NSURLSessionTask *task, id responseObject) {
    NSLog(@"Reply JSON: %@", responseObject);

    }
} failure:^(NSURLSessionTask *operation, NSError *error) {
    NSLog(@"Error: %@, %@, %@, %@, %@", error, operation.responseObject, operation.responseData, operation.responseString, operation.request);

}];
[operation start];

但是3.0棄用了AFHTTPRequestOperationManager,那么怎么才能用呢币绩?
1.用系統(tǒng)NSURLConnection 請(qǐng)求

      NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"url"]];
        [request setHTTPBody:data];
        [request setHTTPMethod:@"POST"];
        [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    
        NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
    
    
        if (theConnection) {
            NSLog(@"connected");
            receivedData=[[NSMutableData alloc]init];
        } else {
    
            NSLog(@"not connected");
        }
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    [receivedData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [receivedData appendData:data];
    NSString* responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    NSLog(@"response: %@",responseString);
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSLog(@"Succeeded! Received %lu data",(unsigned long)[receivedData length]);
    NSString* responseString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
    NSLog(@"response: %@",responseString);
    NSError *myError = nil;
    NSDictionary *res = [NSJSONSerialization JSONObjectWithData:receivedData options:NSJSONReadingMutableLeaves error:&myError];
    NSLog(@"%@",res);
}

2.用不習(xí)慣系統(tǒng)沒(méi)關(guān)系,其實(shí)afn3.0 也有提供api給我們調(diào)用追城,但是這個(gè)是我一直沒(méi)接觸過(guò)的AFURLSessionManager础嫡。

 AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
    
    NSMutableURLRequest *req = [[AFJSONRequestSerializer serializer] requestWithMethod:@"POST" URLString:@"url" parameters:nil error:nil];
    
    req.timeoutInterval= [[[NSUserDefaults standardUserDefaults] valueForKey:@"timeoutInterval"] longValue];
    [req setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [req setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [req setHTTPBody:da];
    
    [[manager dataTaskWithRequest:req completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {
        
        if (!error) {
            NSLog(@"Reply JSON: %@", responseObject);
        } else {
            NSLog(@"Error: %@, %@, %@", error, response, responseObject);
        }
    }] resume];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挂谍,一起剝皮案震驚了整個(gè)濱河市君账,隨后出現(xiàn)的幾起案子繁堡,更是在濱河造成了極大的恐慌,老刑警劉巖杈绸,帶你破解...
    沈念sama閱讀 211,496評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帖蔓,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡瞳脓,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)澈侠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)劫侧,“玉大人,你說(shuō)我怎么就攤上這事哨啃∩斩埃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,091評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵拳球,是天一觀的道長(zhǎng)审姓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)祝峻,這世上最難降的妖魔是什么魔吐? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,458評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮莱找,結(jié)果婚禮上酬姆,老公的妹妹穿的比我還像新娘。我一直安慰自己奥溺,他們只是感情好辞色,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,542評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著浮定,像睡著了一般相满。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上桦卒,一...
    開(kāi)封第一講書(shū)人閱讀 49,802評(píng)論 1 290
  • 那天立美,我揣著相機(jī)與錄音,去河邊找鬼闸盔。 笑死悯辙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播躲撰,決...
    沈念sama閱讀 38,945評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼针贬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拢蛋?” 一聲冷哼從身側(cè)響起桦他,我...
    開(kāi)封第一講書(shū)人閱讀 37,709評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谆棱,沒(méi)想到半個(gè)月后快压,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,158評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡垃瞧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,502評(píng)論 2 327
  • 正文 我和宋清朗相戀三年蔫劣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片个从。...
    茶點(diǎn)故事閱讀 38,637評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脉幢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嗦锐,到底是詐尸還是另有隱情嫌松,我是刑警寧澤,帶...
    沈念sama閱讀 34,300評(píng)論 4 329
  • 正文 年R本政府宣布奕污,位于F島的核電站萎羔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏碳默。R本人自食惡果不足惜贾陷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,911評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望腻窒。 院中可真熱鬧昵宇,春花似錦、人聲如沸儿子。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,744評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)柔逼。三九已至蒋譬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間愉适,已是汗流浹背犯助。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,982評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留维咸,地道東北人剂买。 一個(gè)月前我還...
    沈念sama閱讀 46,344評(píng)論 2 360
  • 正文 我出身青樓惠爽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親瞬哼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子婚肆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,500評(píng)論 2 348

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

  • AFN什么是AFN全稱是AFNetworking,是對(duì)NSURLConnection坐慰、NSURLSession的一...
    醉葉惜秋閱讀 1,184評(píng)論 0 0
  • 網(wǎng)絡(luò)解析:AFNnetworking詳解 一较性、什么事AFN□在iOS開(kāi)發(fā)中,使用比較廣泛□全稱是AFNetwork...
    Bo_cake閱讀 863評(píng)論 0 1
  • 訪問(wèn)網(wǎng)絡(luò)的基本流程:5點(diǎn) HTTP協(xié)議 2.通信過(guò)程 --------------請(qǐng)求的方法-----get 和 ...
    光明程輝閱讀 979評(píng)論 0 2
  • 同步請(qǐng)求和異步請(qǐng)求- 同步請(qǐng)求:阻塞式請(qǐng)求结胀,會(huì)導(dǎo)致用戶體驗(yàn)的中斷- 異步請(qǐng)求:非阻塞式請(qǐng)求赞咙,不中斷用戶體驗(yàn),百度地...
    WangDavid閱讀 583評(píng)論 0 0
  • 在上一篇關(guān)于朋友圈的文中糟港,我寫(xiě)了一篇關(guān)于如何在朋友圈打造自己的個(gè)人品牌的文章攀操。 然而,就像紙上談兵一樣秸抚,我并沒(méi)有做...
    小筱茶籽閱讀 557評(píng)論 0 2