如何获得_all_ NSURLRequest数据?

时间:2016-07-12 21:11:03

标签: ios swift macos nsdata nsurlrequest

我将使用不同的协议,因此可能实现NSURLProtocol处理程序。无论如何,服务器仍然基本上想要一个HTTP请求。当我说HTTP时,我已经知道了。

我想我可以序列化它,但代码必须在某处...只是不知道在哪里。有人知道吗?

例如:我希望这来自NSURLRequest

POST /some/control/endpoint HTTP/1.1
Header: Blah blah
Header2: Foo Bar

[Body data here]

由于

1 个答案:

答案 0 :(得分:0)

如果你问如何构建请求,基本上是:

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:...];
[request addValue:@"Blah blah" forHTTPHeaderField: @"Header"];
[request addValue:@"Foo Bar" forHTTPHeaderField: @"Header2"];
request.HTTPMethod = @"POST";

然后创建上传任务并提供正文数据。请注意,您也可能还必须包含Content-Length和Content-Type标头。

但是,如果您要问如何以上面显示的格式获取数据来自请求,那么您几乎必须自己使用字符串连接来构建数据。请记住,您需要在每个标题行的末尾发送\ r \ n以符合规范。

或者如果您需要完全兼容的协议实现,可能更容易创建自己的本地侦听套接字,在其上指向NSURLSession,捕获请求,转发请求,捕获响应并将其转发回来。