You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法从JavaScript端连接树莓派4:Fetch请求网络错误问题

问题分析与解决方案

核心问题是Python脚本通过verify=False跳过了SSL证书验证,而JavaScript的Fetch/Axios默认会严格校验HTTPS证书的合法性,导致请求失败。以下分不同环境给出针对性解决办法:

1. React Native 环境

临时测试方案(不推荐生产)

  • iOS:修改Info.plist,添加以下配置允许对指定域名跳过证书验证:
<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>10.42.0.1</key>
    <dict>
      <key>NSIncludesSubdomains</key>
      <true/>
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.0</string>
    </dict>
  </dict>
</dict>
  • Android:修改AndroidManifest.xml,在<application>标签内添加android:networkSecurityConfig="@xml/network_security_config",然后在res/xml目录创建network_security_config.xml:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">10.42.0.1</domain>
    </domain-config>
</network-security-config>

生产环境方案

将树莓派服务的证书添加到React Native项目的信任列表:

  • iOS:将证书文件添加到项目中,修改Info.plist配置信任该证书
  • Android:将证书放入res/raw目录,修改network_security_config.xml引用该证书

2. 浏览器环境

浏览器无法通过代码跳过SSL证书验证,只能通过以下方式解决:

  • 给树莓派的服务配置由可信CA签发的证书
  • 在本地浏览器的证书信任列表中手动导入树莓派的自签名证书

3. Node.js 环境

如果使用node-fetch,可以在请求选项中添加rejectUnauthorized: false(仅测试用):

const fetch = require('node-fetch');

const test_iCast_wifi = async () => {
  const raw = JSON.stringify({
    ssid: 'HUAWEI_B818_4211',
    password: '4RM9LE059DG',
  });

  try {
    const response = await fetch('https://10.42.0.1:5000/wifi', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: raw,
      rejectUnauthorized: false // 跳过证书验证
    });
    const data = await response.text();
    console.log(data);
  } catch (error) {
    console.error(error);
  }
};

或者临时设置环境变量:

NODE_TLS_REJECT_UNAUTHORIZED=0 node your-script.js

注意:生产环境绝对不能禁用证书验证,必须配置合法的SSL证书,避免安全风险。

内容的提问来源于stack exchange,提问作者Engr.Aftab Ufaq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 01:55:13