Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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
Macos 无法从Mac浏览器解析PC计算机_Macos_Web Services_Networking_Dns_Bonjour - Fatal编程技术网

Macos 无法从Mac浏览器解析PC计算机

Macos 无法从Mac浏览器解析PC计算机,macos,web-services,networking,dns,bonjour,Macos,Web Services,Networking,Dns,Bonjour,我目前正在写一些POC,我需要从我的Mac上使用一个web服务。我在PC上编写web服务,现在我需要Mac能够使用它进行调试。在我的家庭办公室工作时,我在解析电脑名称方面没有问题,但每当我回到办公室,浏览器(Safari和Chrome)就看不到电脑。我所知道的唯一不同是,在工作中,我们通过代理访问互联网。除此之外,它是一个非常普通的通过DHCP的网络设置,就像我的家庭办公室一样 情况: Mac设置为文件共享,可以通过SMB查看PC 当我在电脑名称中添加“.local”时,Mac可以成功ping电

我目前正在写一些POC,我需要从我的Mac上使用一个web服务。我在PC上编写web服务,现在我需要Mac能够使用它进行调试。在我的家庭办公室工作时,我在解析电脑名称方面没有问题,但每当我回到办公室,浏览器(Safari和Chrome)就看不到电脑。我所知道的唯一不同是,在工作中,我们通过代理访问互联网。除此之外,它是一个非常普通的通过DHCP的网络设置,就像我的家庭办公室一样

情况: Mac设置为文件共享,可以通过SMB查看PC 当我在电脑名称中添加“.local”时,Mac可以成功ping电脑 Mac无法从任何浏览器的地址行看到电脑。 电脑已设置为运行“你好”打印服务 PC正在通过IIS Express运行web服务 PC已设置为通过…支持所需的URL

netsh http add urlacl url=http://*:%HTTP_PORT%/ user=everyone
netsh http add urlacl url=http://localhost:%HTTP_PORT%/ user=everyone
netsh http add urlacl url=http://%COMPUTERNAME%:%HTTP_PORT%/ user=everyone
netsh http add urlacl url=http://%COMPUTERNAME%.local:%HTTP_PORT%/ user=everyone
(%HTTP_PORT%=60011,IIS Express的默认值) 找到了上述配置(Bonjour+urlacl)

我编写了一个小的web方法——HelloWorld——它只返回“HelloWorld”用于测试,并确保它在本地工作。试图通过浏览器地址字段“”从Mac使用它时,会出现以下错误(Safari):

(“myPC”只是实际机器名的替代品)

我现在没有主意了。如有任何建议,将不胜感激

干杯

[编辑1] 我不确定这是否对你们中的任何一位Mac专家都是一个线索,但是:如果我删除“myPC.local”中的“.local”,浏览器的反应会有所不同。当我把它放在Safari和Chrome中时,会给出相同的错误消息(见上文),但当我把它放在外面时,Safari会返回此消息

You are not connected to the Internet
。。。当Chrome返回这个

Oops! 
Google Chrome could not find myPC:60011
[编辑2] 我注意到了另一个奇怪的现象:在输入了上面的URL并收到了上面的错误消息后,如果我来回导航,然后再向前导航,它似乎会起作用。但如果我单击“刷新”,我会收到相同的错误消息。我已经在Chrome上测试了这个小技巧(Safari不会让我在这种情况下来回导航)


真的不知道该怎么办!还有谁愿意试一试吗?

我有一个简单的提示;只有你的机器知道它的名字像myPC。因为它在你的机器的
主机
(并链接到
/etc/hostname
)文件中。但是,你的另一台mac电脑不会知道这个名字

为什么不尝试用您当前的IP替换“myPC”
在我的wifi中,我会获得ip地址,比如
192.168.0.101
192.168.0.102
,…等等;我使用它们进行文件内传输或其他任何操作。其他框不知道我的框的名称,比如“I-AM-X”,等等。你可能应该有一些ip地址。(在windows中查看
ifconfig-a
ohh.
ipconfig/all
).你最好用它来代替“我的电脑”。

我终于明白了

我只是假设工作中的DNS服务器能够正确解析机器名。如果我添加完全限定的名称(“myPC”),它可以正常工作。与Mac不同,同一网络中的其他PC在AD失败时会自动使用WINS进行名称解析。我的家庭网络是一个简单的工作组(就像Mac的)“本地”名称空间),这就是为什么Mac可以成功地使用我的家庭路由器的DNS服务

当然,这仍然是一个问题,因为将Mac配置为始终与机器保持联系是一个指定的网络,因此不可能移动到该网络之外(无需重新配置)

但是,再一次,我问这个问题不仅是为了解决这个问题,也是为了获得一些知识,这样就可以了


感谢您尝试一下sivatumma!

使用IP地址当然可以,我已经这样做了,但我仍然希望能够使用机器名,因为它是可移植的,而IP地址不是。必须配置客户端使用IP地址很少是个好主意。其次,我想了解Mac是如何做到这一点的。为什么如果我从终端将“.local”添加到PC之后,同时浏览器不能(在浏览器地址行中指定“myPC.local:60011”作为主机不起作用),它是否可以ping PC。首先,它看起来像是
myPC.local
在您的
/etc/hosts
文件中作为一个条目存在。因为该文件是获取主机名和虚拟名的地方。(我将我的域名命名为
comeaddy.com
)。好的,第二,你应该能够区分
dhcp
static
IP。使用
dhcp
配置,你无法得到你想要的。只有当你得到
static
IP(申请后至少需要4天)..,你的盒子可以用
名称访问
!!如果我理解错误,请有人纠正我。顺便说一句,这些设置更多地附加到
操作系统
-任何操作系统。我不确定我是否理解正确,但是,正如我在原始问题中所述,Mac在我的家庭网络(也是一个DH)中成功地通过其名称解析电脑CP配置。所以我不明白为什么DHCP会成为一个问题。唯一的区别是该框获取其DNS地址从DHCP服务。DNS服务的工作仍然是进行名称解析,出于某种原因,这要么不起作用,要么Mac上的浏览器由于某种原因无法使用我公司的DNS服务器。我不是一个网络人,但这就是我如何理解它的工作原理。
Oops! 
Google Chrome could not find myPC:60011