写了一个脚本,抓取Linux服务器信息,然后上传给Django的一个接口,脚本没有错误。print能输出正确信息,接口测试正常,Linux虚拟机操作,Django在pycharm上。
脚本片段:
hostinfo = {
'hostname':hostname,
'ip': ip,
'osversion': osversion,
'memory': memory,
'disk': disk,
'cpu_core': Cpu_Cores,
}
data = json.dumps(hostinfo)
r = requests.post('http://192.168.2.120/api/report', data=data)
if r.status_code == 200 and r.content == 'OK':
print 'ok'
else:
print 'fail'
报错:
File "auto_get_info.py", line 92, in <module>
main()
File "auto_get_info.py", line 86, in main
r = requests.post('http://192.168.2.120/api/report', data=data)
File "/data/requests/api.py", line 108, in post
return request('post', url, data=data, json=json, **kwargs)
File "/data/requests/api.py", line 50, in request
response = session.request(method=method, url=url, **kwargs)
File "/data/requests/sessions.py", line 464, in request
resp = self.send(prep, **send_kwargs)
File "/data/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/data/requests/adapters.py", line 419, in send
raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout: HTTPConnectionPool(host='192.168.2.120', port=80): Max retries exceeded with url: /api/report (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x2a02c50>: Failed to establish a new connection: [Errno 111] Connection refused',))
求解.......跪谢。
在你运行PyCharm的机器上运行如下命令试试
第一步:检查网络连接
第二步: 查看端口是否开放
第三步:服务是否正常