This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3220SF:CORS 策略错误

Guru**** 1626620 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1351550/cc3220sf-cors-policy-error

器件型号:CC3220SF

您好!

在尝试使用传感器的主机名访问我的传感器时、我遇到了 CORS 策略错误、具体来说就是 http://vmedd-ah0002”。 我收到的错误消息是:

 

从源站"http://vmedd-ah0002'已被 CORS 策略阻止:请求的资源上不存在'Access-Control-Allow-Origin'标头"获取地址为'192.168.188.71/index.html'(重定向自'vmedd-ah0002/.../set_mode')。 如果不透明响应满足您的需求,请将请求的模式设置为"无卷",以在禁用 CORS 的情况下获取资源。"

 

有趣的是、当我使用其 IP 地址"192.168.188.71"直接访问传感器时、不会出现此问题。 我已确定器件令牌__SL_P_S。 R 似乎是这个问题的核心。 每当通过_SL_P_S 进行重定向时、似乎会发生这种情况。 R 令牌、它始终使用 IP 地址进行重定向。 相反、如果我省略__ SL_P_S。 R 令牌并便于使用 JavaScript 重定向、不会发生 CORS 错误。

 

下面是我一直使用的代码片段:

<form
  method="POST"
  name="SimpleLink Configuration"
  action="api/1/wlan/set_mode"
  enctype="application/x-www-form-urlencoded"
>
  <input type="hidden" name="__SL_P_S.R" value="index.html" />
  <div class="form-check">
    <input
      type="radio"
      class="form-check-input"
      id="radio1"
      name="__SL_P_S.D"
      value="Station"
      checked
    />
    <label class="form-check-label" for="radio1">Station</label>
  </div>
  <div class="form-check">
    <input
      type="radio"
      class="form-check-input"
      id="radio2"
      name="__SL_P_S.D"
      value="AP"
    />
    <label class="form-check-label mb-3" for="radio2">Access Point</label>
  </div>
  <button type="submit" class="btn btn-primary">Apply Mode</button>
</form>

我很想了解为什么通过主机名访问传感器会导致 CORS 错误、而使用 IP 地址不会触发同样的问题。 对于解决这一奇怪问题的任何见解或建议、我们将不胜感激。

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    查看 NWP 代码、不容易找到 检索错误的位置、因此我们需要日志。

     您是否能够获得 NWP 日志(请参阅 程序员指南中的第20章)?

    如果可以获得 http 序列的监听器(pcap)日志、那将会很有帮助。

    如果您排除了"__SL_P_S。 R "-您是否能够使用 URL 地址? 还是仅使用 IP 地址?

    到 IP 的 URL 应该是在 HTTP 之前由 DNS 发生的、所以我认为它是无关的。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    这是用于确认接收器的

    10937 619.574322 192.168.188.120 192.168.188.71 HTTP 508 POST /api/1/wlan/set_mode HTTP/1.1 (application/x-www-form-urlencoded)

    10942 622.399916 192.168.188.71 192.168.188.120找不到 HTTP 188 HTTP/1.0 404 (text/html)

    10948 622.505865 192.168.188.71 192.168.188.120 HTTP 60 HTTP/1.0 302临时移动  

    10970 632.770202 192.168.188.120 192.168.188.71 HTTP 440 GET /index.html HTTP/1.1  

    11157 706.404138 192.168.188.120 192.168.188.71 HTTP 508 POST /api/1/wlan/set_mode HTTP/1.1 (application/x-www-form-urlencoded)

    11159 706.498428 192.168.188.71 192.168.188.120 HTTP 60 HTTP/1.0 302临时移动  

    11166 706.513109 192.168.188.120 192.168.188.71 HTTP 440 GET /index.html HTTP/1.1  

    11306 817.703669 192.168.188.120 192.168.188.71 HTTP 503 POST /api/1/wlan/set_mode HTTP/1.1 (application/x-www-form-urlencoded)

    11308 817.811850 192.168.188.71 192.168.188.120 HTTP 60 HTTP/1.0 302临时移动  

    11315 817.854076 192.168.188.120 192.168.188.71 HTTP 440 GET /index.html HTTP/1.1  

      

    "当您排除了"__SL_P_S 时。 R "-您是否能够使用 URL 地址? 还是仅使用 IP 地址?"

    是、当我排除__SL_P_S 时。 R,我可以同时使用 URL 地址和 IP 寻址。 但使用_SL_P_S。 R、我只能使用 IP 寻址

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我将尝试检查。 可能存在错误、但我想您有一个权变措施。  

    如果有任何内容、我将在此处更新。