这个现象困扰了我一段时间。比如在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. jQuery选择器分类

    jQuery的基本选择器 选择器的分类 <!--1.基本选择器 2.层级选择器 3.过滤选择器 3.1 基本过滤选择器 3.2 内容过滤选择器 3.3 可见性过滤选择器 3.4 子元素过滤选择器 ...

  2. jsoncpp动态解析节点类型

    在互联网无处不在的今天,JSON作为轻量级数据存储格式,被广泛应用到互联网数据传输中.众所周知,JSON由键/值对.对象.数组组成,其中键/值对的值包括以下几种类型: enum ValueType { ...

  3. mysql sql 基础总结

    1 mysql top n使用 select * from table limit n; 2    统配符使用必须和like结合使用 like % 通配符 描述 % 替代一个或多个字符 _ 仅替代一个 ...

  4. Eclipse安装Git插件以及通过Git导入华为软件开发云项目

    --内容提交-- 1.    Eclipse安装Git插件 2.    在Eclipse中导入华为软件开发云项目, 以及常用Git操作 一. Eclipse安装Git插件 现在从eclipse官网下载 ...

  5. 深入浅析JavaScript中的constructor

    constructor 属性返回对创建此对象的数组函数的引用.本文给大家介绍JavaScript中的constructor ,需要的朋友参考下吧 定义和用法 constructor 属性返回对创建此对 ...

  6. MySQL主从复制的实现过程

    一.什么是主从复制 将主数据库中的DDL和DML操作通过二进制日志(BINLOG)传输到从数据库上,然后将这些日志重新执行(重做):从而使得从数据库的数据与主数据库保持一致. 二.主从复制的作用 1. ...

  7. Android不编译某个模块

    Android 5.1 源码,编译相关的文件一般在build目录下build/target/product 放了很多mk文件:一般不同的产品会有不同的目录 假设我不想编译OpenWnn,在build目 ...

  8. 基于android的语音质量评估

    最近研究如何通过android评估通话质量,希望获取的参数有:(1)接通时长 (2)掉话次数 (3)语音是否清晰,以下将给出接通时长和掉话次数的详细定义: 接通时长:通话一方开始拨号到另一方开始振铃的 ...

  9. 途虎养车Tuhu商城系统开发

    途虎养车Tuhu商城系统开发,咨询:何经理152-2217-7508(微信同号)途虎养车商城小程序开发,途虎养车商城小程序平台开发,途虎养车商城小程序系统开发. 为什么能做得这么好,里面的门道确实不少 ...

  10. .NET CORE——Console中使用依赖注入

    我们都知道,在 ASP.NET CORE 中通过依赖注入的方式来使用服务十分的简单,而在 Console 中,其实也只是稍微绕了个小弯子而已.不管是内置 DI 组件或者第三方的 DI 组件(如Auto ...