这个现象困扰了我一段时间。比如在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. vsftpd3.0之匿名用户配置

    有时候工作中为了方便上传下载文件,又不想在系统中添加用户并为用户创建密码,这时候就可以用匿名用户方式搭建FTP服务器,当然安全性我们不说,今天就为实现这么个简单而粗爆的FTP服务器,来看看都需要哪些配 ...

  2. Chrome浏览器扩展开发系列之十一:NPAPI插件的使用

    在Chrome浏览器扩展中使用HTML和JavaScript非常容易,但是如何重用已有的非JavaScript遗留系统代码呢?答案是将NPAPI插件绑定到Chrome浏览器扩展,从而实现在Chrome ...

  3. 如何将notMNIST转成MNIST格式

    相信了解机器学习的对MNIST不会陌生,Google的工程师Yaroslav Bulatov 创建了notMNIST,它和MNIST类似,图像28x28,也有10个Label(A-J). 在Tenso ...

  4. DotNetCore跨平台~服务总线_事件总线的重新设计

    理论闲话 之前在.netFramework平台用的好好的,可升级到.net core平台之后,由于不再需要二进制序列化,导致咱们的事件机制遇到了问题,之前大叔的事件一直是将处理程序序列化后进行存储的, ...

  5. DotNetCore跨平台~文章索引~永久更新

    本索引目录主要包括仓储大叔对dotnet core架构的研究与知识积累,从2016年开始进行撰写,到今天已经有一年多了,其中有一些小知识,小技巧,小应用,希望给大家在开发时一些启发,也希望dotnet ...

  6. ASP.NET Core MVC 过滤器介绍

    过滤器的作用是在 Action 方法执行前或执行后做一些加工处理.使用过滤器可以避免Action方法的重复代码,例如,您可以使用异常过滤器合并异常处理的代码. 过滤器如何工作? 过滤器在 MVC Ac ...

  7. 细说Handler

    今天来说说Android一个重要类吧:Handler (我写的博客风格不适合新手,因为我讨厌新手教学,我都是直奔主题,不交代前因后果) 大家都知道Handler的用法一般是线程间的通讯,当然,一个线程 ...

  8. tensorflow max_pool(最大池化)应用

    1.最大池化 max pooling是CNN当中的最大值池化操作,其实用法和卷积很类似. tf.nn.max_pool(value, ksize, strides, padding, name=Non ...

  9. 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA

    本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...

  10. org.w3c.dom.Element 缺少 setTextContent 步骤

    org.w3c.dom.Element 缺少 setTextContent 方法 今天将项目环境由jdk5改为jdk6,eclipse重新编译工程后,却突然出现org.w3c.dom.Element没 ...