來自 tumblr 的 iOS 和 OS X 上的網絡連接庫:JXHTTP

jopen 11年前發布 | 24K 次閱讀 JXHTTP 網絡工具包

JXHTTP 是來自 tumblr 的 iOS 和 OS X 上的網絡連接庫。它利用操作隊列和GCD對Cocoa的內置NSURLConnection對象提供了強大的包裝,加入許多有用的功能如:塊響應對象和跨越多個請求過程跟蹤。它致力于成為盡可能輕量級和可讀性,使它更易于使用或自定義高級的行為。

示例

Asynchronous

JXHTTPOperation *op = [JXHTTPOperation withURLString:@"https://encrypted.google.com/"];
op.didFinishLoadingBlock = ^(JXHTTPOperation *op) { NSLog(@"%@", op.responseString);
};

[[JXHTTPOperationQueue sharedQueue] addOperation:op];

Synchronous

JXHTTPOperation *op = [JXHTTPOperation withURLString:@"https://encrypted.google.com/"];
[op startAndWaitUntilFinished]; NSLog(@"%@", op.responseString);

Complex

NSURL *postURL = [NSURL URLWithString:@"https://web.site/api/POST"]; NSDictionary *postParams = @{ @"make": @"Ferrari", @"model": @"458 Italia" };

JXHTTPOperation *op = [[JXHTTPOperation alloc] initWithURL:postURL];
op.requestBody = [[JXHTTPFormEncodedBody alloc] initWithDictionary:postParams];
op.requestCachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
op.responseDataFilePath = @"/tmp/downloaded_data";
op.trustedHosts = @[ postURL.host ];
op.performsBlocksOnMainQueue = YES;

op.didSendDataBlock = ^(JXHTTPOperation *op) { NSLog(@"%lld bytes uploaded so far", op.bytesUploaded);
};

[[JXHTTPOperationQueue sharedQueue] addOperation:op];

項目主頁:http://www.baiduhome.net/lib/view/home/1417422179393

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!