问题:如何让游戏运行requests.post发布网址?
基本上,我目前正在开展一个项目,在这个项目中,游戏中的选择可以发送到我制作的网站,这样我就可以跟踪玩家做出的选择。 该网站已经完成,我已经使用单独的python程序对其进行了测试,并且使用以下两行代码完全正常:
import requests
con = requests.post("http://localhost:8080/update?/checkingChL")
这将触发我的网站的数据库更改,这将在网站上清晰显示,因此如果我使用单独的python文件,代码可以正常工作。 但似乎Ren'Py并没有像我希望的那样真正地接受它......
我做过的事情: 尝试1:正在下载Python模块,如下所示 - https://www.renpy.org/doc/html/python.htm
安装完请求后,我从Ren'Py启动了项目并打开了开发人员控制台,并输入:
import requests
但我得到的回应是:
ImportError: No module named cgi
所以那不行。如前所述,我还是Python新手,所以我做了一些谷歌搜索并尝试了下一次尝试......
尝试2:安装renpy-requests,如下所示 - https://github.com/renpytom/renpy-requests
在尝试1之前的游戏的新版本中,我已经下载了文件,并且完全按照说明中的说明进行操作。 这次我比上次更进一步:
import requests
con = requests.post("http://localhost:8080/update?/checkingChL")
LookUpError: unknown encoding:idna
再次,正如您所看到的,错误仍在继续。
我试图将cgi和编码导入到游戏中,但也没有运气...... :(
我忽略了错误消息并且无论如何都将代码卡在游戏中,当它恰好触发时......才发现网站上什么都没发生......
显然,我的游戏中缺少一些东西,但我现在已经没有想法......
答案 0 :(得分:0)
我不确定Ren'Py是否完全支持“请求”模块。如果您不发送敏感信息,则可以使用它。
这是github示例的链接,其中使用了Re'nPy的创建者Tom创建的请求。 https://github.com/renpytom/renpy-requests
我在游戏中使用urllib和urlib2。
import urllib
import urllib2
url = "http://........."
opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))
data = urllib.urlencode({'name' : playerName,'score' : playerScore})
userList = str(opener.open(url, data=data).read())