發送Http請求(POST GET)的方法

來源:互聯網
上載者:User

1.Get方法


1.1 使用NSMutableURLRequest


view plaincopy to clipboardprint?

NSURL* url = [NSURL URLWithString:@"http://aminby.net"];  

NSMutableURLRequest* request = [NSMutableURLRequest new];  

[request setURL:url];  

[request setHTTPMethod:@"GET"];  

NSHTTPURLRequest* response;  

NSData* data = [NSURLConnection sendSynchronousRequest:request  

              returningResponse:&response error:nil];  

[NSString* strRet = [[NSString alloc] initWithData:data encoding:NSUTF8String];  

NSLog(strRet);  

[strRet release];  

1.2 使用NSString


view plaincopy to clipboardprint?

[NSString stringWithContentsOfURL:(NSURL *)url  

            encoding:(NSStringEncoding)enc error:(NSError **)error];  

// 或者  

[NSString stringWithContentsOfURL:(NSURL *)url];  

1.3 使用NSData


view plaincopy to clipboardprint?

// options有兩個枚舉,NSMappedRead這個不懂, NSUncachedRead是不緩衝  

[NSData dataWithContentsOfURL:(NSURL *)url  

        options:(NSUInteger)readOptionsMask  

        error:(NSError **)errorPtr]  

//  或者  

[NSData dataWithContentsOfURL:(NSURL *)url];  

1.2和1.3的方法是缺點是沒辦法知道response的status,一般是返回200-299之間的數值代表請求成功.我們可以依照這個code來做資料處理, 如果對地址存在很有把握,就可以使用後兩種簡單的GET方法.


今天查了一下手冊,發現NSArray NSDictionary 也有xxxxWithContentsOfURL的方法, 這兩個我還沒用過, 應該是跟NSData和NSString一樣,但具體怎麼用我還不清楚.


2.Post方法


2.1 使用NSMutableURLRequest


view plaincopy to clipboardprint?

NSURL* url = [NSURL URLWithString:@"http://aminby.net"];  

NSMutableURLRequest*  request = [NSMutableURLRequest new];  

[request setURL:url];  

[request  setHTTPMethod:@"GET"];  

[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"];  

[request setHTTPBody:@"some param"];  

NSHTTPURLRequest* response;  

NSData* data =  [NSURLConnection sendSynchronousRequest:request  

         returningResponse:&response error:nil];  

[NSString* strRet =  [[NSString alloc] initWithData:data encoding:NSUTF8String];  

NSLog(strRet);  

[strRet  release];   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.