这个现象困扰了我一段时间。比如在Pycharm里面运行一个Flask程序,如图所示

在Chrome中一直打不开,换了Firefox,依然如此,但是用mac自带的safari可以打开。

起初我以为是ip地址的问题,将0.0.0.0换成127.0.0.1和localhost都没有用。

一时在网上没找到答案。

Safari能用就用Safari吧,其它先不管了。

后来使用anaconda及Jupyter Notebook时又出现了同样的情况。不能忍了。

在Stack Overflow上面终于找到了答案,解决方案好简单。

对于Chrome:

1. 打开setting|高级|系统|打开代理设置

2.mac中会自动打开网络设置,如图所示

3. 在‘忽略这些主机与域的代理设置’文本框中加上‘localhost,0.0.0.0,127.0.0.1’,就可以了。

对于Firefox:

1. 打开首选项|高级|网络

2. 点击“配置Firefox如何连接至国际互联网”后面的“设置”

3. 在对话框中选择“使用系统代理设置”,即上面在mac中修改的代理设置。

另外补充localhost,127.0.0.1和0.0.0.0之间的区别

首先看看ping这3者的结果如下

可见localhost与127.0.0.1都可ping通,而0.0.0.0不能被ping通

另外,我们注意到localhost(127.0.0.1)这一栏,说明两种有某种关系。

在打开本机的hosts,可以看到,localhost对应的ipv4和ipv6分别是127.0.0.1和::1.

说明localhost是其域名,用于指代this computer或者this host,可以用来获取运行在本机上的网络服务

而127.0.0.1属于{127,}集合中的一个,而所有网络号为127的地址都被称之为回环地址,取值范围为 127.0.0.1-127.255.255.254

对于 0.0.0.0,它是真正表示“本网络中的本机”。

那它和localhost与127.0.0.1有什么区别呢?打个比方,0.0.0.0就像是章鱼的躯干,而localhost与127.0.0.1好比就是章鱼的腕,章鱼靠腕交流传递信息而不是靠躯干。但是所有的腕都是为同一个躯干服务。

再比如,一台服务器,一个外网地址A,一个内网地址B,如果上面一个web应用绑定的端口指定了0.0.0.0,那么通过内网地址或外网地址都可以访问这个应用。但是如果绑定了内网地址,那么通过外网地址就不能访问。反之同理。

Chrome打不开Pycharm运行的web应用的更多相关文章

  1. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  2. IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目

    转自:http://www.php-note.com/article/detail/854 IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web项目 作者:php- ...

  3. pycharm运行脚本为何不生成测试报告?

    今日使用python+selenium编写自动化测试脚本并执行过程中,使用pycharm运行结果后发现脚本运行无报错,脚本中的操作也正常被执行,但就是没有生成测试报告. 为什么呢,为什么呢,生成测试报 ...

  4. React Native 项目运行在 Web 浏览器上面

    React Native 的出现,让前端工程师拥有了使用 JavaScript 编写原生 APP 的能力.相比之前的 Web app 来说,对于性能和用户体验提升了非常多. 但是 React Nati ...

  5. Chrome扩展开发之二——Chrome扩展中脚本的运行机制和通信方式

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  6. Nginx运行Mono Web (ASP.NET)

    Mono Web除了可以使用Apache/mod_mono方式承载运行外,还可以使用Nginx/FastCGI方式运行. Nginx配置asp.net更简单方便,用处也多,可以通过FastCGI运行a ...

  7. 使用eclipse创建在myeclipse中运行的web工程

    今天在跟随慕课网学习java时,遇到课程中老师使用Myeclipse,我用的是eclipse,那么就使用eclipse创建在Myeclipse项目 参考: 如何在Eclipse配置Tomcat服务器 ...

  8. chrome打不开12306

    chrome打不开12306怎么办?chrome怎么会打不开12306? chrome打不开12306: 1.没有安装12306网站的根证书. 2.打开https://dynamic.12306.cn ...

  9. 运行java web项目时报错:Several ports (8005, 8080, 8009) required

    运行java web项目时报错:Several ports (8005, 8080, 8009) required 如下图 之所以报上面的错误是因为安装Tomcat的时候,已经把端口8005,8080 ...

随机推荐

  1. npm的理解

    一 概念方面 npm的全称是node package manger ,是一个nodejs包管理工具,已经成为非官方的发布node模块包的标准.有了npm可以很快速的找到特定服务器要使用的包,进行下载, ...

  2. Java之面向对象例子(一)

    定义一个人类,给这个类定义一个从身份证获取生日的方法,输入身份证,获取出生年月日 //主方法 package com.hanqi.maya.model; import java.util.Scanne ...

  3. Java之面向对象例子(三) 多态,重写,重载,equals()方法和toString()方法的重写

    重写(继承关系) 子类得成员方法和父类的成员方法,方法名,参数类型,参数个数完全相同,这就是子类的方法重写了父类的方法. 重载 在一个类里有两个方法,方法名是完全一样的,参数类型或参数个数不同. 例子 ...

  4. Swift语法初见

    Swift语法初见 http://c.biancheng.net/cpp/html/2424.html 类型的声明: let implicitInteger = 70 let implicitDoub ...

  5. 扩展entity framework core 实现默认字符串长度,decimal精度,entity自动注册和配置

    报道越短,事情越严重!文章越短,内容越精悍! 文章以efcore 2.0.0-preview2.测试验证通过.其他版本不保证使用,但是思路不会差太远.源代码 目标: 1.实现entity的自动发现和m ...

  6. maven-配置文件配置src/resource下的文件

    classpath*:只找到applicationContext.xml classpath:/找到了所有

  7. DirectX 11---从空间变换来看3D场景如何转化到2D屏幕

    DirectX 11---从空间变换来看3D场景如何转化到2D屏幕 在看<Introduction to 3D Game Programming with DirectX 11>的时候,发 ...

  8. 【SpringMVC】静态资源访问的问题

    在项目中经常会用到一些静态的资源,而一般我们在配置SpringMVC时会让SpringMVC接管所有的请求(包括静态资源的访问), 那么我们怎样才能最简单的来配置静态资源的访问呢? 一,在web.xm ...

  9. Spring MVC的实现原理

    Spring提供了DispatcherServlet,这个类不仅负责实现请求转发,还负责启动一个WebApplicationContext容器. 按照Spring一贯的IoC哲学,所有的Control ...

  10. (转)生产者/消费者问题的多种Java实现方式 (待整理)

    实质上,很多后台服务程序并发控制的基本原理都可以归纳为生产者/消费者模式,而这是恰恰是在本科操作系统课堂上老师反复讲解,而我们却视而不见不以为然的.在博文<一种面向作业流(工作流)的轻量级可复用 ...