这可能是一个简单的问题,但我找不到为什么我无法将 post 请求调用到 api url 的问题。我对类似的问题进行了交叉检查,但我的仍然有问题。
这是脚本
import requests
import json
#API details
url = "http://192.168.1.100:9792/api/scan"
body = {"service":"scan", "user_id":"1", "action":"read_all", "code":"0"}
headers = {'Content-Type': 'application/json'}
#Making http post request
response = requests.post(url, headers=headers, data=body, verify=False)
print(response)
#Decode response.json() method to a python dictionary for data process utilization
dictData = response.json()
print(dictData)
with open('scan.json', 'w') as fp:
json.dump(dictData, fp, indent=4, sort_keys=True)
Run Code Online (Sandbox Code Playgroud)
获取错误
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Run Code Online (Sandbox Code Playgroud)
打印(响应)得到回报
<Response [200]>
Run Code Online (Sandbox Code Playgroud)
如果我像下面一样运行 …
我正在尝试测试我的 python 项目并通过 gitlab 运行。我已经在我的 ubuntu 笔记本上安装了 runner 并在本地 gitlab 服务器上完成注册。因此,得到了 2 台独立的机器,一台是运行器,另一台是 gitlab 服务器。两台机器可以互相通信。笔记本(192.168.100.10) ---- GitLab(172.16.10.100)
一旦我提交测试,我的工作就失败了,并显示以下消息;
Reinitialized existing Git repository in /builds/dz/mytest/.git/
fatal: unable to access 'http://gitlab.lab01.ng/dz/mytest.git/': Could not resolve host: gitlab.lab01.ng
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud)
从我的笔记本 cli 中,我可以 ping gitlab 服务器 ip,但不能 ping 通主机名,甚至 curl 也不知道主机名。我认为这与无法解析的 dns 有关。我在笔记本 /etc/hosts 中添加主机名,我可以 ping 主机名,但运行作业仍然失败,并显示相同的消息。我尝试过人们建议在 gitlab-runner config.toml 中添加以下内容,因此我在 config.toml 中添加以下内容(不确定在 config.toml 中添加是否正确)
[[runners]]
dns_search = [""]
Run Code Online (Sandbox Code Playgroud)
仍然失败并收到相同的消息无法重新同步主机。我可以在笔记本设置/跑步者上做什么?我没有 gitlab 的管理员权限来进一步检查。任何人都面临同样的问题。感谢您的帮助和支持。
--有关信息,我已尝试使用公共 gitlab (gitlab.com) 在我的笔记本上测试运行程序,并且我可以成功运行该作业,而不会出现任何错误消息--