Alamofire请求网络

HTTP - GET和POST请求
- 如果要传递大量数据,比如文件上传,只能用POST请求
- GET的安全性比POST要差些,如果包含机密/敏感信息,建议用POST
- 如果仅仅是索取数据(数据查询),建议用GET
- 如果是增加、修改、删除数据,建议使用POST

iOS中的HTTP
- NSURLConnection:用法简单,最古老最经典最直接的一种方案
- NSURLSession:iOS7新出的技术,功能比NSURLConnection更加强大
- AFNetworking:简单易用,提供了基本够用的常用功能
- Alamofire:纯Swift网络请求库

Alamofire特点:
1.纯Swift编写的HTTP网络库
2.链式请求、响应
3.URL/JSON/plist格式参数
4.上传文件/数据/流/多格式数据
5.断点续传
6.NSURLCredential授权
7.HTTP响应验证
8.NSProgress&进度闭包

使用CocoaPods安装:

source ‘https://github.com/CocoaPods/Specs.git‘
platform :ios, ‘9.0‘
use_frameworks!
target ‘AlamofireDemo‘ do
pod ‘Alamofire‘
pod ‘SwiftyJSON‘
end
  • 请求:NSURLRequest
  • 回复:NSHTTPURLResponse
  • 数据:NSData
  • 错误:NSError

Alamofire基本用法:

import Alamofire
Alamofire.request(.GET,"https://httpbin.org/get")

响应处理:

响应序列化:

response()
responseData()
responseString(encoding:NSStringEncoding)
responseJSON(options:NSJSONReadingOptions)
responsePropertyList(options:NSPropertyListReadOptions)

HTTP方法:

public enum Method:String{
case OPTIONS,GET,HEAD,POST,PUT,PATCH,DELETE,TRACE,CONNECT
}

参数:

let parameters=[
    "foo":"bar",
    "baz":["a",1],
    "qux":[
        "x":1,
        "y":2,
        "z":3
    ]
]

参数Encoding和Content-Type

enum ParameterEncoding{
case URL    //application/x-www-form-urlencoded
case JSON //application/json
case PropertyList //application/x-plist
}

HHTP Headers:

时间: 2025-01-05 05:46:57

Alamofire请求网络的相关文章

【黑马Android】(06)使用HttpClient方式请求网络/网易新闻案例

使用HttpClient方式请求网络 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"

NSURLSession请求网络-01-网络

/* 网络请求的流程: 1.构造NSURL连接地址 2.构造NSURLRequest请求对象,包含请求头和请求体信息. 3.构造NSURLSessionConfiguration,可选 4.构造NSURLSession会话对象 5.创建请求任务 6.发送网络请求 */ 1 // 2 // ViewController.m 3 // 01-NSURLSession请求网络 4 // 5 // 6 7 #import "ViewController.h" 8 9 @interface Vi

安卓中自定义并使用Volley框架请求网络

大家好,今天我们讲一下如何使用Volley框架请求网络,为何要使用Volley框架,这就要先说一下使用Volley框架请求网络的优点了,volley是易于定制的,即你可以根据需求来设定volley框架,还有volley框架支持请求的优先级设定,即你可以自主设定网络请求的优先级,还有就是volley框架请求支持取消单个或多个请求,这个一会设置请求的时候会特别说明,还有它可以自动调度网络请求,至于其他的如代码的健壮性.支持多并发等等就不一一列举了,说了那么多下面就介绍如何自定义并使用Volley框架

Android请求网络共通类——Hi_博客 Android App 开发笔记

今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. 思路: 1.把请求网络的方法放到一个类里面 2.创建一个接口将数据发给Activity 3.Activity 实现接口获得服务器返回的数据 4.解析数据 来我们一先来看第一步 请求网络 在这里请求网络我们用Volley .Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健

安卓开发时酷派手机不打印请求网络信息问题的解决

在做安卓开发的时候,肯定要用到调试了,但是我买的酷派大神F1居然不打印请求网络的日志,在百度上寻找了一下解决办法最终解决: 解决方案: 拨号盘输入*20121220#   ->  选择日记输出级别  ->  选择Java log level -> 选择LOGD即可 这样就能够打印日志了,这是因为机子出厂的时候做了一定的限制,重新设置一下就行了,我一开始还以为是Eclipse的版本问题呢,试了一下三星的手机,发现没问题,就只有是手机的问题了,就找到了这个解决方法!

android 请求网络异步加载

/** * 封装ProecssDialog对话框 * */ public class LoadDialog extends ProgressDialog { private String title = "进度对话框"; private String message = "加载数据中...."; public LoadDialog(Context context, int theme) { super(context, theme); } /** * 用默认的标题和

Android开发本地及网络Mp3音乐播放器(十一)使用Jsoup组件请求网络,并解析音乐数据

实现功能: 实现NetMusicListFragment(网络音乐界面) 实现net_music_list_layout.xml(网络音乐界面UI) 使用Jsoup组件请求网络,并解析音乐数据 截止到目前的源码下载: http://download.csdn.net/detail/iwanghang/9506985 Jsoup组件导入: AndroidStudio简单快速导入GitHub中的第三方组件 : http://blog.csdn.net/iwanghang/article/detail

请求网络数据

package com.example.project2zhoukao1; import java.util.List;import java.util.concurrent.ExecutionException; import com.bwie.adapter.Mbaseadapter;import com.bwie.bean.JsondDataone;import com.bwie.bean.Jsonone;import com.google.gson.Gson; import androi

请求网络,Handler信息传递,流转字符串

Handler消息传递 HttpURLConnection请求访问网络 根据流返回一个字符串信息 访问网络的权限:<uses-permission android:name="android.permission.INTERNET"/> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.a