gpt4 book ai didi

iphone - 如何发送带有压缩内容的 HTTP POST 请求?

转载 作者:太空狗 更新时间:2023-10-30 03:25:52 26 4
gpt4 key购买 nike

我正在开发 iPhone 应用程序并手动构建 POST 请求。目前,需要在发送之前压缩 JSON 数据,因此寻找如何告诉服务器内容已压缩。将内容类型 header 设置为 gzip 可能是 Not Acceptable ,因为服务器需要 JSON 数据。我正在寻找透明的解决方案,比如添加一些 header ,告诉 JSON 数据被压缩到 gzip 中。

我知道,标准的方法是告诉服务器客户端接受编码,但是你需要先用接受编码头发出 GET 请求。就我而言,我想发布已经编码的数据。

最佳答案

包括一个 Obj-C gzip 包装器,例如 NSData+GZip ,并使用它来编码您的 NSURLRequest 的主体。还要记住相应地设置 Content-Encoding,这样网络服务器就会知道如何处理您的请求。

NSData *requestBodyData = [yourData gzippedData];
NSString *postLength = [NSString stringWithFormat:@"%d", requestBodyData.length];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"gzip" forHTTPHeaderField:@"Content-Encoding"];
[request setHTTPBody:requestBodyData];

关于iphone - 如何发送带有压缩内容的 HTTP POST 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10410680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com