将 curl 转换为 MATLAB
curl2code 使用 webwrite 和 webread 将 curl 命令转换为 MATLAB 代码。转换过程通过 WebAssembly 在您的浏览器中运行,以确保完全的隐私。对于 Python,请查看我们的 curl 转 Python 转换器。对于 R,请参阅 curl 转 R。下方是实用的 MATLAB 示例。
如何从浏览器复制 curl
- 1
打开开发者工具
按 F12 或 Ctrl+Shift+I 打开浏览器开发者工具。
- 2
进入 Network 标签页
点击 Network (网络) 标签页,并执行触发 HTTP 请求的操作。
- 3
复制为 cURL
右键点击请求 → Copy (复制) → Copy as cURL (复制为 cURL)。然后将其粘贴到上方。
常见问题解答
什么是 MATLAB webwrite?
MATLAB 的 webwrite 和 webread 函数提供了用于发送和接收数据的内置 HTTP 功能。它们自动处理 JSON 序列化并与 MATLAB 的数据类型集成。如需更多控制,请使用 matlab.net.http.RequestMessage。无需安装工具箱——这些是 MATLAB 核心的一部分。
webwrite 对比 matlab.net.http —— 该用哪一个?
webwrite/webread 简单明了——非常适合快速 API 调用和数据检索。matlab.net.http 提供了对请求头、方法、流式传输和身份验证的完全控制。对于标准 REST 调用使用 webwrite,当需要自定义请求头或非标准方法时使用 matlab.net.http。有关数据科学替代方案,请参阅 curl 转 Python 或 curl 转 R。
如何在 MATLAB 中处理身份验证?
使用 weboptions:options = weboptions('HeaderFields', { 'Authorization', 'Bearer token' })。对于 Basic 认证,使用 weboptions('Username', user, 'Password', pass)。使用 matlab.net.http 时,直接在 HeaderField 对象上设置请求头。curl2code 将认证标志转换为适当的 MATLAB 语法。
如何在 MATLAB 中发送多部分表单数据?
使用 matlab.net.http.io.MultipartFormProvider 进行文件上传。对于更简单的表单提交,使用 webwrite(url, 'key1', 'value1', 'key2', 'value2')。MATLAB 根据 MediaType 选项处理序列化。curl2code 将 -F 标志转换为正确的 MATLAB 模式。
如何在 MATLAB 中处理 HTTP 错误?
将调用包装在 try/catch 中:try response = webread(url, options); catch ME disp(ME.message); end。对于使用 matlab.net.http 的状态码检查,请检查 response.StatusCode。默认情况下,MATLAB 会在网络错误和非 2xx 响应时抛出异常。
如何在 MATLAB 中解析 JSON 响应?
webread 会自动将 JSON 解析为 MATLAB 结构体和元胞数组。对于手动解析,使用 jsondecode(jsonString)。使用 jsonencode(data) 将 MATLAB 数据转换为 JSON。MATLAB 将 JSON 对象映射到结构体,将数组映射到元胞数组,将原始类型映射到其对应的 MATLAB 类型。
如何在 MATLAB 中设置超时?
使用 weboptions('Timeout', 30) 以秒为单位设置超时。使用 matlab.net.http 时,配置带有 HTTPOptions 的 ConnectTimeout。webread/webwrite 的默认超时为 5 秒。设置为 Inf 表示无超时(不推荐用于生产环境)。
如何在 MATLAB 中使用代理?
在 MATLAB 偏好设置中配置代理:主页 > 偏好设置 > Web。或者使用 Java 系统属性:java.lang.System.setProperty('http.proxyHost', 'proxy')。MATLAB 使用 JVM 的网络栈,因此 Java 代理设置适用。对于代理认证,设置 http.proxyUser 和 http.proxyPassword。
如何在 MATLAB 中发送带有 JSON 正文的 POST 请求?
使用 curl2code 将类似于 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL 的 curl POST 命令转换为 MATLAB。生成的代码使用 response = webwrite(url, data, options)。curl2code 会自动检测带有 JSON 内容的 -d/--data 标志,并在 webwrite 代码中设置相应的 Content-Type 请求头。
如何在 MATLAB 中添加 Bearer 令牌授权?
将 curl -H "Authorization: Bearer YOUR_TOKEN" URL 传递给 curl2code,它会生成带有认证请求头的 webwrite 代码:options = weboptions('HeaderFields', {'Authorization', 'Bearer TOKEN'})。curl2code 会从 -H "Authorization: Bearer ..." 和 --oauth2-bearer 标志中检测 Bearer 令牌。对于 Basic auth,请使用 -u user:pass。
如何在 MATLAB 中设置 Content-Type 请求头?
curl2code 将 curl -H "Content-Type: application/json" URL 转换为带有正确请求头的 webwrite 代码:options = weboptions('MediaType', 'application/json')。对于 -d 数据,curl 默认使用 application/x-www-form-urlencoded;对于 -F 表单上传,它使用 multipart/form-data。curl2code 会将每一项映射到正确的 webwrite API。