首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NodeJS / iOS -如何在使用HTTP POST调用后从二进制文件中获取返回值

在使用Node.js或iOS进行HTTP POST调用后,从二进制文件中获取返回值的方法如下:

  1. Node.js:
    • 首先,使用Node.js的内置模块http或第三方模块axios等发送HTTP POST请求。
    • 在请求中,设置请求头Content-Typeapplication/octet-stream,表示发送的是二进制文件。
    • 将二进制文件作为请求体发送给目标服务器。
    • 接收服务器返回的响应,在响应中获取二进制文件的数据。
    • 可以使用fs模块将数据保存到本地文件,或者直接处理数据。

示例代码:

代码语言:javascript
复制

const http = require('http');

const fs = require('fs');

const options = {

代码语言:txt
复制
 hostname: '目标服务器地址',
代码语言:txt
复制
 port: 80,
代码语言:txt
复制
 path: '/目标路径',
代码语言:txt
复制
 method: 'POST',
代码语言:txt
复制
 headers: {
代码语言:txt
复制
   'Content-Type': 'application/octet-stream'
代码语言:txt
复制
 }

};

const req = http.request(options, (res) => {

代码语言:txt
复制
 const chunks = [];
代码语言:txt
复制
 res.on('data', (chunk) => {
代码语言:txt
复制
   chunks.push(chunk);
代码语言:txt
复制
 });
代码语言:txt
复制
 res.on('end', () => {
代码语言:txt
复制
   const data = Buffer.concat(chunks);
代码语言:txt
复制
   // 处理二进制文件数据
代码语言:txt
复制
   fs.writeFileSync('output.bin', data); // 保存到本地文件
代码语言:txt
复制
   // 其他处理逻辑
代码语言:txt
复制
 });

});

const fileData = fs.readFileSync('input.bin'); // 读取二进制文件

req.write(fileData); // 发送请求体

req.end();

代码语言:txt
复制
  1. iOS:
    • 使用NSURLSession或第三方库Alamofire等发送HTTP POST请求。
    • 在请求中,设置请求头Content-Typeapplication/octet-stream,表示发送的是二进制文件。
    • 将二进制文件作为请求体发送给目标服务器。
    • 接收服务器返回的响应,在响应中获取二进制文件的数据。
    • 可以将数据保存到本地文件,或者直接处理数据。

示例代码:

代码语言:swift
复制

import Foundation

let url = URL(string: "目标服务器地址/目标路径")!

var request = URLRequest(url: url)

request.httpMethod = "POST"

request.setValue("application/octet-stream", forHTTPHeaderField: "Content-Type")

let fileData = try! Data(contentsOf: URL(fileURLWithPath: "input.bin")) // 读取二进制文件

request.httpBody = fileData // 设置请求体

let task = URLSession.shared.dataTask(with: request) { (data, response, error) in

代码语言:txt
复制
 guard let data = data else {
代码语言:txt
复制
   print("请求失败: \(error?.localizedDescription ?? "Unknown error")")
代码语言:txt
复制
   return
代码语言:txt
复制
 }
代码语言:txt
复制
 // 处理二进制文件数据
代码语言:txt
复制
 try! data.write(to: URL(fileURLWithPath: "output.bin")) // 保存到本地文件
代码语言:txt
复制
 // 其他处理逻辑

}

task.resume()

代码语言:txt
复制

以上是在Node.js和iOS中使用HTTP POST调用后从二进制文件中获取返回值的方法。根据实际需求,可以根据返回的二进制文件数据进行进一步处理,如解析、存储、展示等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券