swift HTTP通信
来源:互联网 发布:湖南省国家税务局软件 编辑:程序博客网 时间:2024/06/13 22:17
一 加载网络数据
(1)
var str =NSString(contentsOfURL: NSURL(string: "http://www.baidu.com")!, encoding:NSUTF8StringEncoding, error: nil)
println(str)
输出 百度首页的html代码 字符串格式
(2)
var data =NSData(contentsOfURL: NSURL(string: "http://www.baidu.com")!)
println(data)
输出 百度首页的二进制编码
(3)
var data =NSData(contentsOfURL: NSURL(string: "http://www.baidu.com")!)
println(NSString(data: data!, encoding:NSUTF8StringEncoding))
输出html代码(4)
var resp:NSURLResponse?
var error:NSError?
var data2 = NSURLConnection.sendSynchronousRequest(NSURLRequest(URL:NSURL(string: "http://www.baidu.com")!), returningResponse: &resp, error: &error)
if let d = data2{
println(NSString(data: d, encoding:NSUTF8StringEncoding))
}
if let r = resp{
println(r)
}
// 输出请求的头部信息
<NSHTTPURLResponse: 0x7fce606c8520> { URL: http://www.baidu.com/ } { status code: 200, headers {
BDPAGETYPE = 1;
BDQID = 0x92209f320000f336;
BDUSERID = 0;
"Cache-Control" = private;
Connection = "Keep-Alive";
"Content-Encoding" = gzip;
"Content-Type" = "text/html; charset=utf-8";
"Cxy_all" = "baidu+2ac9d6058fed9a3b872dedc3f4c0b82c";
Date = "Fri, 04 Sep 2015 07:44:16 GMT";
Expires = "Fri, 04 Sep 2015 07:44:15 GMT";
Server = "BWS/1.1";
"Set-Cookie" = "BDSVRTM=0; path=/, BD_HOME=0; path=/, H_PS_PSSID=16475_16540_16716_1423_17155_13245_14429_12867_16938_16507_17000_16936_17004_17072_15198_11683_13932_16950_16968_10633_17051; path=/; domain=.baidu.com";
"Transfer-Encoding" = Identity;
Vary = "Accept-Encoding";
"X-Powered-By" = HPHP;
"X-UA-Compatible" = "IE=Edge,chrome=1";
} }
if let e = error{
println(e)
println("无法连接网络")
}
二 异步加载NSURLConnection.sendAsynchronousRequest(NSURLRequest(URL:NSURL(string: "http://百度.com")!), queue:NSOperationQueue()) { (resp:NSURLResponse!, data:NSData!, error:NSError!) ->Void in
if let e = error {
println("发生了错误")
}else{
println(NSString(data: data, encoding:NSUTF8StringEncoding))
}
@IBOutlet weak var tvOut: UITextView!
@IBAction func connectBtnPressed(sender:AnyObject) {
//GET
NSURLConnection.sendAsynchronousRequest(NSURLRequest(URL:NSURL(string: "http://localhost:8080/MyServer/hello.jsp?name=\(tvInput.text)")!), queue: NSOperationQueue.mainQueue()) { (resp:NSURLResponse!, data:NSData!, error:NSError!) -> Void in
if let d = data {
self.tvOut.text = NSString(data: d, encoding: NSUTF8StringEncoding)
// dispatch_sync(dispatch_get_main_queue(), { () -> Void in
//
// self.tvOut.text = NSString(data: d, encoding: NSUTF8StringEncoding)
// })
}
}
//POST
var req =NSMutableURLRequest(URL:NSURL(string:"http://localhost:8080/MyServer/hello.jsp")!)
req.HTTPMethod ="POST"
req.HTTPBody =NSString(string: "name=\(tvInput.text)").dataUsingEncoding(NSUTF8StringEncoding)
NSURLConnection.sendAsynchronousRequest(req, queue:NSOperationQueue.mainQueue()) { (resp:NSURLResponse!, data:NSData!, error:NSError!) -> Void in
if let d = data {
self.tvOut.text = NSString(data: d, encoding: NSUTF8StringEncoding)
}
}
}
@IBOutlet weakvar tvInput: UITextField!
- swift HTTP通信
- (swift)Alamofire如何http通信post信息给服务器并获得返回信息
- Http 通信
- http通信
- HTTP 通信
- Http通信
- Http通信
- Http通信
- HTTP 通信
- Http通信
- http通信
- HTTP通信
- HTTP通信
- Http通信
- Swift 原生网络通信
- 【HTTP】HTTP通信步骤
- Swift中的HTTP请求
- Swift HTTP请求集合
- Git学习笔记
- NotePad大小写转换
- Eclipse中开启java的assert选项
- Exception starting filter struts2|java.lang.ClassNotFoundException
- UVa 714 Copying Books (最大值尽量小_二分+贪心)
- swift HTTP通信
- iOS 在UILabel显示不同的字体和颜色
- 体育锻炼
- 2015
- 用于打印UID和GID
- HDU 3879 Base Station(最大权闭合)
- Android基础入门教程——6.3.1 数据存储与访问之——初见SQLite数据库
- 文章标题
- 零基础学python-11.1 if语句