json PyScript API提取:“尝试获取资源时出现网络错误”pyfetch/pyodide.http错误

9rbhqvlz  于 2023-03-13  发布在  其他
关注(0)|答案(1)|浏览(96)

我收到此错误:“JsException:TypeError:在打开呈现py脚本代码的html文件时尝试获取资源”“时出现网络错误。
我已经访问了这里关于这个错误的许多其他帖子,但没有一个(我看到的)似乎与我的问题有关。
下面是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>WeatherAPP</title>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>
<body>
   <h1>Dash</h1>
   <p>bottom_line</p>
   <p>getting python code...</p>
   <div id="request_status"></div>
        <div id="request_text"></div>
   <py-script>
from pyodide.http import pyfetch
import asyncio
import json
response = await pyfetch(url="https://api.avalanche.org/v2/public/product?type=weather&center_id=MWAC&zone_id=1307", method="GET")
status = f"Request status: {response.status}"
response_dict = await response.json()

text = f"Text: {response_dict['id']}"

pyscript.write('request_status', status)
pyscript.write('request_text', text)
   </py-script>
</body>
</html>

奇怪的是,当我把这个API换成一个不同的、不相关的API时,pyscript成功了,并显示了我所请求的API的结果。我一直试图找出我所需要的API不工作的原因,并怀疑这是否是安全问题。
我期望这个API能像另一个API一样顺利工作。
短暂性脑缺血发作

e0bqpujr

e0bqpujr1#

我怀疑您需要在您的网址中将&替换为&amp;,否则您将尝试获取不同的网址。
当我将此代码段保存到page.html中时:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>WeatherAPP</title>
    <link rel="stylesheet" href="https://pyscript.net/alpha/pyscript.css" />
    <script defer src="https://pyscript.net/alpha/pyscript.js"></script>
</head>
<body>
   <h1>Dash</h1>
   <p>bottom_line</p>
   <p>getting python code...</p>
   <div id="request_status"></div>
        <div id="request_text"></div>
   <py-script>
from pyodide.http import pyfetch
import asyncio
import json

response = await pyfetch(url="https://api.avalanche.org/v2/public/product?type=weather&amp;center_id=MWAC&amp;zone_id=1307", method="GET")
status = f"Request status: {response.status}"

response_dict = await response.json()

text = f"Text: {response_dict['id']}"

pyscript.write('request_status', status)
pyscript.write('request_text', text)
   </py-script>
</body>
</html>

然后加载到Firefox中,我得到了这样的回应:

相关问题