• 关于网络-get/post


    关于网络:

    //英译  connection:连接 append:添加 resign:放弃

    // 加载网页数据 步骤

    [self.webView loadRequest:request];

    NSURLRequest-》NSURL

    [self.webView loadHTMLString:(NSString *) baseURL:(NSURL *)];

    baseURL:http://m.baidu.com

    NSURLConnection(连接)-》start(开始连接)-》数据初始化(预备)-》拼接数据(拿到)-》数据+编码转化字符串(完成)-》处理显示(完成)-》解决错误提示

    //TextFiled想要交互(设置代理,调用一个代理方法)

    例如:获取文本框文字,基本都是代理方法

    判断字符串有没有,判断其长度即可

    //字符串<-->的转化

        DATA->字符串:[[NSString alloc] initWithData

        字符串->DATA:[str dataUsingEncoding:NSUTF8StringEncoding]

    //GET/

    GET请求是直接从服务器拿数据

    性能好,效率高,在地址栏会显示参数,从直观上安全性能不高,

    由于GET不提交数据给服务器,因此实际的安全性高

    实际应用:查询数据

                   

    具体实现:               

    //POST/

    POST请求,需要弄个数据体,提交给服务器,才能获取服务器的响应

    性能不好,效率低,不会在地址栏显示参数,直观的安全性能高

    由于POST请求提交给数据给服务器,可能会存在安全漏洞,实际的安全性不高

    实际应用:用户登录,上传文件,需要和服务器交互,用POST

    //实现POST请求:-------

    NSURL *url=[NSURL URLWithString:@""];//是输入账号密码后服务器响应后的网络地址

                   

    //发送post请求

    //封装请求

    NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0];

    request.HTTPMethod=@"POST";

    NSString *str=@"数据体字符串";//当用户发送请求,通过火狐拦截到的数据体

    NSData *bodyData= [str dataUsingEncoding:NSUTF8StringEncoding];

    request.HTTPBody=bodyData;

    NSURLResponse *response=nil;

    //账号登录一般是同步请求

     NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];

     NSString *result=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

                   

    NSLog(@"%@",result);

    //向服务器发送同步请求sync 获取数据

    --应用场景:例如网银账户的登录,一定要获取到网络返回的数据后,才能进行下一步操作场景,用户登录

    获取请求-request -->连接发送同步请求(返回data)->data转为字符串

     NSData *data=[NSURLConnection sendSynchronousRequest:request returningRespones &reponse error:&error]

    //向服务器发送异步请求async 获取数据

    获取请求-request -->连接发送异步请求(返回data)->data转为字符串

    NSData *data=[NSURLConnection AsendSynchronousRequest:request  queue:queue completionhandler:^(block)];

    //webView使用

     打开网页,文档等

    通常加载html/htm,pdf,docx,txt等格式文件

    @"加载文件"

     [_webView loadData:(NSData *)MIMEType:(MIMEType) textEncodingName:@"UTF-8" baseURL:nil]

    调用webView的loadData对象方法,需要两个参数一个数据DATA本身,一个MIMEType(即为数据类型)

                   

    MIMEType:告诉浏览器发送的多媒体的数据类型

    MIMEType是通过Respones来获得的/(response.MIMEType)

    获取MIMEType步骤如下:

      通过调用NSURLConnection send同步连接 返回的responce拿到responce.MIMEType 从而拿到文件的MIMEType

     调用NSURLConnection的同步连接方法需要 封装request参数

     拿到文件的URL-》封装request

                   

    @"获取本地文件的URL路径"   Resource:资源 extension:扩展

    NSURL *url =[[NSBundle mainBundle] URLForResource:@"kk.txt"

                            withExtension:nil];

    @"获取本地文件的字符串路径"

     NSString *str=[NSBundle mainBundle] pathForResource:(NSString *) ofType:(NSString *)

                   

                  

                  

                  

                  

                  

  • 相关阅读:
    情感日记:离校,漂流他乡
    汉化破解:{smartassembly}使用指南
    金融市场:Open.Yale.course:Financial.Markets.07.Chi_Eng
    【转载】[解决系统服务运行应用程序的权限问题]使用WTSGetActiveConsoleSessionId()的VISTA服务与桌面交互
    【转载】关于sqlserver自增长列的问题
    【转载】如何给IIS添加能访问的文件类型
    【原创】使用反射之后,强制类型转化不成功的问题在哪?
    【转载】网站开发人员应该知道的61件事
    【索引】转载关于DSL、代码生成器使用、依赖注入方式
    【原】使用SoundPlayer播放wav文件时产生杂音如何处理
  • 原文地址:https://www.cnblogs.com/ly1973/p/5394433.html
Copyright © 2020-2023  润新知