这个现象困扰了我一段时间。比如在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. 【原】无脑操作:Windows 10 + MySQL 5.5 安装使用及免安装使用

    本文介绍Windows 10环境下, MySQL 5.5的安装使用及免安装使用 资源下载: MySQL安装文件:http://download.csdn.net/detail/lf19820717/9 ...

  2. Unity3D中使用BMFont制作图片字体 (NGUI版)

    [旧博客转移 - 发布于2015年9月10日 16:07] 有时美术会出这种图片格式的文字,NGUI提供了UIFont来支持BMFont导出的图片字体 BMFont原理其实很简单,首先会把文字小图拼成 ...

  3. java IO之 File类+字节流 (输入输出 缓冲流 异常处理)

    1. File类

  4. JavaScript一个whenReady函数,监听及注册事件

    /** * 传递函数给whenReady(),当文档解析完成且为操作准备就绪时, * 函数将作为文档对象的方法调用 * DOMContentLoaded.readystatechange或load事件 ...

  5. oracle 小测

    01)oracle10i,oracle11g,oracle12c,其它i,g,c什么意思? i(Internet)互联网 g(grid)网格 c(cloud) 云02)sqlplus是什么意思? 是o ...

  6. Java List Remove时要注意的细节

    1.如果你是在遍历的时候去remove一个对象 for(int i = 0, length = list.size(); i<length; i++){} 这种遍历需要每次remove时,对i- ...

  7. SSH连不上虚拟机的问题解决

    这几天工作任务不重,今早上班打算在liunx下运行下python脚本.打开VM,SSH突然连不上虚拟机了.网上试了很多方法都不行,最后花费2个小时解决了这一问题. 结合我的实际情况,问题解决如下: 1 ...

  8. Django--Uploaded Files以及Handlers

    一.表示已经上传的文件(uploaded files)的类 表示已经上传的文件的类有下面几个: class UploadedFile 在文件上传的期间,实际的文件数据被存储在request.FILES ...

  9. SQL Server2008 安装及概述

    最近在学习SQL Server 数据库,用的版本是2008 R2的版本,如下图所示,本人学习时间不长,写这篇文章一是为了锻炼自己加深印象,二也可以与和诸多朋友进行交流以及得到大家的指教. 安装教程网上 ...

  10. call和apply和bind区别

    call和apply特征一样 都是用来调用函数 立即调用 但是可以在调用函数的同时 通过第一个参数指定函数内部this的指向 call 调用的时候 参数必须以参数列表的形式进行传递 也就是以逗号分隔的 ...