关于iphone http上传请求协议的一些总结

iPhone开发Swift基础03 视频、网络请求 视频播放AVPlayer iOS9之前使用的是MPMoviePlayerController,随着iOS不断迭代,AVPlayer成为主流。 往项目中添加资源文件: import UIKit import AVFoundation class ViewController: UIViewController{ var avPlayer : AVPlayer? override func viewDidLoad() { super.viewDidLoad() 阅读详情
 

最近坐了一个项目涉及到图片上传的问题,起初用到socket,但是由于比较陌生
改而用 http 协议做web上传
这里需要自定义http协议
 

http协议应该注意四点:
 1.初始化响应服务器地址
NSURL *url = [NSURL URLWithString:@"http://xxx.xxx.xx.xxx/mqupload.jsp"];
[urlRequest setValue:  [NSString stringWithFormat:@"%@\r\n", @"http://XXXXXX  HTTP/1.1"]]; //可要可无

 2.设置提交方法 GET/POST
[urlRequest setHTTPMethod:@"POST"];
 3.设置响应内容类型

 [urlRequest setValue:  [NSString stringWithFormat:@"multipart/form-data;    boundary=---------%@", @"7daaba1e0368"] forHTTPHeaderField:@"Content-Type"];

 4.设置响应内容
   NSMutableData *postData = [NSMutableData dataWithCapacity:[m_imageData length]];
    [postData appendData: [[NSString stringWithFormat:@"---------%@\r\n", @"7daaba1e0368"]
                          dataUsingEncoding:NSUTF8StringEncoding]];//开始标志
   
    [postData appendData: [[NSString stringWithFormat: @"Content-Disposition:form-data; name="File1";        filename="1.jpg"\r\n Content-type: image/pjpeg\r\n\r\n"]dataUsingEncoding:NSUTF8StringEncoding]];//name是页面文件的参数,type是文件类型
    [postData appendData:imageData];// 文件数据
    [postData appendData: [[NSString stringWithFormat:@"\r\n---------%@--\r\n",  @"7daaba1e0368"]
                          dataUsingEncoding:NSUTF8StringEncoding]];// 文件结束标志
   [urlRequest setHTTPBody:postData];//把数据加载到响应的文件体


***只要做到以上几点,一个完整的http协议就做好了
下面附一个简洁版完整的请求协议体
   NSURL *url = [NSURL URLWithString:@"http://XX.XX.XX"];//请求服务器路径。
   m_imageData = UIImagePNGRepresentation(myImageView.image);
   NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
   [urlRequest setHTTPMethod:@"POST"];
   [urlRequest setValue: [NSString stringWithFormat:@"multipart/form-data; boundary=---------%@",                          @"7daaba1e0368"] forHTTPHeaderField:@"Content-Type"];
   [urlRequest setValue: [NSString stringWithFormat:@"%@\r\n\r\n",
             @" keep-alive"] forHTTPHeaderField:@"Connection"];
   NSMutableData *postData = [NSMutableData dataWithCapacity:[m_imageData length]];
   [postData appendData: [[NSString stringWithFormat:@"---------%@\r\n",
             @"7daaba1e0368"] dataUsingEncoding:NSUTF8StringEncoding]];
   
   [postData appendData: [[NSString stringWithFormat:
                    @"Content-Disposition:form-data; name="File1"; filename="1.jpg"\r\n Content-type:    image/pjpeg\r\n\r\n"]dataUsingEncoding:NSUTF8StringEncoding]];
   [postData appendData:m_imageData];
   [postData appendData: [[NSString stringWithFormat:@"\r\n---------%@--\r\n", @"7daaba1e0368"]
                   dataUsingEncoding:NSUTF8StringEncoding]];
   [urlRequest setHTTPBody:postData];
   NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self];

HTTP协议与IIS底层原理:Web开发者的地基课 HTTP协议是Web通信的基石,其无状态设计、请求响应模型及头部机制深刻影响着性能、安全与兼容性;IIS作为Windows平台主流Web服务器,依托HTTP.SYS内核驱动、应用程序池隔离与集成管道模式,构建了高可靠托管运行环境。理解HTTP报文解析、TCP连接复用策略、Cookie生命周期、P3P隐私头演进,以及IIS中经典/集成模式差异、AppDomain隔离机制和ASP.NET请求管道19个执行步骤,不仅能精准定位503/500错误、静态资源授权失效、Session丢失等典型问题,更能为.NET Fr 阅读详情

相关推荐

Python Playwright实战:拦截与修改HTTP请求参数

在Web自动化测试和数据抓取中,HTTP请求参数的动态处理是核心技术之一。其原理在于通过浏览器自动化工具拦截网络请求,在请求发送至服务器前,对GET查询字符串或POST请求体进行实时解析与修改。这项技术的核心价值在于能够绕过前端验证、构造特定测试数据、模拟异常场景,并深入理解应用数据流,从而显著提升自动化脚本的稳定性和灵活性。Playwright框架原生集成了路由(Routing)机制,通过page.route()方法实现无代理、一体化的请求拦截与修改,为自动化测试、数据采集和调试提供了高效的工程实践方案。

weixin_34032621的博客 451

关于IOS https图片上传失败的处理过程

问题现象 一个图片上传接口,处理逻辑如下 1.文件上传到服务端(nginx+service架构) 2.服务器端上传到腾讯云对象存储 3.上传完成之后返回图片的url 但是:http上传成功,https上传失败(调试的时候:代码没走到控制器代码就返回了) PostMan上传 Spring 控制器代码 思考 1.安卓http能成功,说明代码逻辑没问题 2.接口传入参数类型是Multip...

张相逢的博客 4516

Flutter HTTP请求实战:从http包封装到502错误排查

HTTP请求是移动应用与后端通信的基础协议,其核心涉及请求方法语义、状态码含义、超时重试机制、网络环境适配及安全策略。在Flutter中,官方http package虽轻量,却需深入理解底层HttpClient行为、Dart异步超时模型与平台网络限制(如iOS/Android对localhost的处理)。GET与DELETE不仅动词不同,更承载着幂等性、错误容忍度等关键契约;502 Bad Gateway等状态码往往指向网关、代理或服务发现层问题,而非前端代码缺陷。本文围绕http package展开工程化

weixin_33976072的博客 608

关于iPhone应用中HTTP上传请求协议总结

关于iPhone应用中HTTP上传请求协议总结是本文要介绍的内容,主要是来学习HTTP上传请求协议的内容,具体内容来看本文详解。http协议应该注意四点: 1、初始化响应服务器地址 NSURL *url = [NSURL URLWithString:@"http://xxx.xxx.xx.xxx/mqupload.jsp"]; [urlRequest setValue: [N...

weixin_34238642的博客 127

Mac 使用 Charles 抓包 iPhone HTTPS 请求(完整指南)

本文提供了一份在Mac上使用Charles抓取iPhone HTTPS网络请求的完整指南。详细介绍了从安装配置Charles、设置局域网代理,到在Mac和iPhone上安装并信任SSL证书以解密HTTPS流量的全过程,并分享了解决常见问题的高阶技巧,帮助开发者高效进行移动端调试。

weixin_29313547的博客 275

MacOS与iPhone联袂出击:Wireshark全协议网络抓包实战指南

本文提供了一份详尽的实战指南,教你如何在MacOS上使用Wireshark抓取和分析iPhone的网络流量。通过USB连接和rvictl命令创建虚拟网卡,实现全协议抓包,并详细介绍了Wireshark的配置、过滤技巧以及解密HTTPS流量的方法,是移动开发者和安全分析师的必备技能。

weixin_28840143的博客 211

详解iPhone应用中HTTP上传请求协议

详解iPhone应用中HTTP上传请求协议 2011-08-09 14:08 佚名 互联网 字号:T | T 本文介绍的是详解iPhone应用中HTTP上传请求协议,很详细的介绍了文中提到的http协议应该注意四点,来实现请求协议,来看详细内容。 AD:【线下活动】三大新锐HTML 5企业汇聚51CTO—大话移动前端技术 iPhone

qq_24923789的博客 402

从CTF实战到工程应用:HTTP请求头核心原理与安全攻防详解

HTTP请求头是HTTP协议的核心组成部分,它定义了客户端与服务器之间通信的元数据和行为规则。从原理上讲,请求头通过一系列预定义的字段,如Content-Type、Authorization、Cache-Control等,来协商内容格式、管理连接、控制缓存以及进行身份认证,是Web应用实现功能与安全的基础。其技术价值在于,它不仅是实现RESTful API、内容协商和性能优化的关键,更是Web安全攻防的前沿阵地。在应用场景上,无论是日常的API调试、爬虫开发,还是安全测试中的漏洞探测,对请求头的深入理解和操

weixin_30735745的博客 382

iphone完整版的http上传请求协议

完整版的iphone(XCODE),oc   http上传请求协议,一个完整的DEMO,提供给大家学习 //保存图片 - (void)saveImage { _alertview= [[UIAlertViewalloc]initWithTitle:nil message:@"正在上传照片..."    delegate:self cancelButtonTitle:nil othe

编程路上的野花 702

go之搭建一个文件服务器

【代码】go之搭建一个文件服务器。

我不是码农的博客~~~ 638

深信服 SANGFOR 设备密码恢复和配置备份恢复

、恢复密码 当我们拿到一台设备要去配置管理的时候,首先是要确认设备的登录IP,其次就是确认设备控制台登录密码。不知情的情况下如何找到设备的登录IP,请参考文档: http://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=9484 下文中提到的关于“网关升级客户端”的一些功能,也请参考此文档。 那么恢复密码,大家都知道有2种方法:U盘恢复密码、交叉线恢复密码。 1、U盘恢复密码 注意:仅恢复admin密码,不影响配置。 U盘恢复密码的前

李先生在闯荡江湖 1万+

ASIHttpRequest☞上传文件

五、文件上传 1、服务端 文件上传需要服务端的配合。我们可在本机搭建tomcat测试环境。关于tomcat在Mac OSX下的安装配置,参考作者另一博文《安装Tomcat到Mac OSX》。 打开Eclipse,新建web工程。在其中新建一个Servlet UploadServlet: import java.io.*; import java.util.*;

仰望星空 884

构建家庭NAS之三:在TrueNAS SCALE上安装qBittorrent

以qBittorrent为例,说明如何在TrueNAS SCALE上使用docker来安装应用。

luoqingyong的博客 7006

iPhone网络编程–一起来做网站客户端

在Cocoachina潜水这么久,学到了很多东西。但是从来没有发过贴,真是愧疚。 最近几天一直在学习iphone的网络编程,希望在没有api的情况下,做一个oa系统 的客户端, 所以认真的学习了一下http协议,以及如何发送请求包到服务器以及建立session会话等等 然后总结了一篇文章,费了我不少时间,在此和大家一起分享。因为我觉得网上这方面的资料不是很多 我把正文贴在这里,但是

u012490953的专栏 618

Mixer-First Receiver适用于宽带阵列应用的接收机技术1

Mixer-First Receiver适用于宽带阵列应用的接收机技术1技术的背景单元级数字化阵列传统链路到Mixer-First链路的逻辑考虑三种场景小结 技术的背景 在文章《吊打全球的顶级毫米波数字阵列项目-MIDAS》中提到了DARPA在MIDAS项目中在毫米波实现宽带单元级数字化阵列用到了一个关键的叫做N-Path filter的技术,而这个技术同样出现在了《让微波射频工程师颤抖的芯片-MATRICs》的MATRICs芯片中。 为什么DARPA的各个合作研究机构选择这种技术?这篇来自Universi

ICONO的博客 2167

苹果开发者账号( Apple Developer)登录出现:你的 Apple ID 暂时不符合使用此应用程序的条件(您的apple账户不符合资格)

Apple开发对于新手来说确实可能会遇到各种问题,在遇到 Apple Developer 账号登录问题时,除了检查账号的安全性设置和协议确认外,还需要考虑账号的具体配置问题,比如主邮箱的设置。

Winter_Sun灬的博客 4134

【iPhone】网络编程–一起来做网站客户端(一)

http://www.pan-apps.com/?p=281 最近几天,一直在学习网络编程方面,我觉得这是移动开发必须了解的知识吧 在实践中学习,才是最好的方法 于是就决定为公司OA系统做一个iphone客户端,但是前提是这个系统没有提供任何API,所以只能悲剧的通过抓包的形式分析,然后模拟发送请求的数据包,以达到访问系统的效果 其实这样的形

hope_worker的专栏 865

YOLOv8改进 | 主干篇 | 利用MobileNetV1替换Backbone(轻量化网络结构)

本文给大家带来的改进机制是MobileNetV1,其是专为移动和嵌入式视觉应用设计的轻量化网络结构。这些模型基于简化的架构,并利用深度可分离卷积构建轻量级深度神经网络,其引入了两个简单的全局超参数,用于在延迟和准确性之间进行有效的权衡。实验表明,MobileNets在资源和准确性的权衡方面表现出色,并在多种应用(如对象检测、细粒度分类、面部属性识别和大规模地理定位)中展现了其有效性,这个模型非常适合轻量化的读者来使用。适用检测目标:轻量化网络结构适合轻量化的读者。

Snu77的博客 3966

用输入流NSInputStream 来实现图片,文件等的上传

场景 有时候,我们需要保存iPhone本地的资源(图片为例)到服务器的相应路径。那么就需要将本地图片上传到服务器。这样,可以用NSInputStream + NSURLConnection +NSMutableURLRequest来实现图片上传。 正文 开始我们需要在头文件.h中声明一些变量。如下: NSURLConnection* _aSynConnection; NSInputStre

欢迎关注我的微信公众号:Vichuzhu 5998

C/C++小宇宙代码(完整代码)

C语言实现小宇宙的完整代码。

AIGC 2523

杰理SDK UART 使用教程

本文介绍了JL701n芯片的UART串口通信使用教程,重点讲解了UART2的初始化配置、数据收发和中断处理功能。教程详细说明了代码结构、核心功能函数、配置参数和使用步骤,包括UART初始化、数据发送和接收中断处理等关键操作。同时提供了完整的API接口说明和注意事项,强调了中断处理限制、缓冲区管理、引脚配置等重要细节。最后给出了基本使用流程和高级任务处理示例,并针对常见问题提供了故障排除建议。本教程适用于需要在JL701n芯片上实现可靠串口通信的开发者。

qq_42014563的博客 1818
上一篇: 在Cocoa中使用JSON
下一篇: http://www.icodeblog.com/2008/11/03/iphone-programming-tutorial-intro-to-soap-web-services/
ch_soft
博客等级 码龄17年 828粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值