Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何查看用户是否已连接到internet?_Python_Django_Request - Fatal编程技术网

Python 如何查看用户是否已连接到internet?

Python 如何查看用户是否已连接到internet?,python,django,request,Python,Django,Request,我正在开发一个博客应用程序,但我遇到了一个问题 我想做的事 我正在尝试实现一个功能,`如果用户连接到internet,则一切正常,但如果用户未连接到internet,则显示类似“您未连接到internet”的消息 我试过什么 我也试过频道,但我认为互联网连接离Django频道很远 我也试过: url = "http://127.0.0.1:8000/" timeout = 5 try: request = requests.get(url, timeout=tim

我正在开发一个博客应用程序,但我遇到了一个问题

我想做的事

我正在尝试实现一个功能,`如果用户连接到internet,则一切正常,但如果用户未连接到internet,则显示类似“您未连接到internet”的消息

我试过什么

  • 我也试过频道,但我认为互联网连接离Django频道很远

  • 我也试过:

    url = "http://127.0.0.1:8000/"
    timeout = 5
    try:
        request = requests.get(url, timeout=timeout)
        print("Connected to the Internet")
    except (requests.ConnectionError, requests.Timeout) as exception:
        print("No INTERNET")
    
但它一直在向我展示:

“Response”对象没有属性“META”

我不知道该怎么办

任何帮助都将不胜感激


提前谢谢

要知道您是否已连接到internet并不容易。事实上,甚至不清楚这意味着什么。这在很大程度上取决于上下文

在许多实际情况下,这意味着您的网络设置是这样的:您可以访问DNS服务器,并且您可以访问internet上的至少一台计算机

您可以只使用一个已知的url,例如
“https://google.com“
”https://stackoverflow.com“

然而,这意味着:

  • 如果给定服务因任何原因中断,您的测试将失败
  • 您创建了对不是您的服务器的请求
如果您知道应用程序应该访问您的特殊web服务,那么您可以使用您的特殊web服务的url:

url=”https://your_special_webservice.yourdomain“

旁白:

如果将问题中的代码放入处理http请求的django视图中,那么您可能应该编写如下内容:

request = requests.get(url, timeout=timeout)
而不是

response = requests.get(url, timeout=timeout)
否则,您将覆盖django视图的
请求
对象 这可能就是引发您的错误消息的原因:
“Response”对象没有属性“META”

是一个使用
urllib.request.urlopen
的实现。一个简单的解决方法是使用js。。。检查----“你是对的,但是现在我想我应该使用
JavaScript
来检查互联网连接的天气。使用JavaScript将互联网连接测试从web服务器移动到您的web浏览器中。这可能是一个好主意,具体取决于您想要实现的目标。(你可能想修改这个问题来反映这一点)是的,非常感谢你的努力