Security 路由器阻止来自外部网络的响应

Security 路由器阻止来自外部网络的响应,security,networking,Security,Networking,我现在在一个公司网络上工作,遇到了一个问题,我的脚本无法连接到外部网络。我只是想知道是否有人知道网络安全中可能导致这种情况的常见做法 例如,我可以在firefox上访问www.example.com,但如果我的python脚本尝试连接,它将出现超时错误 这些脚本在另一个网络上运行得非常好,或者如果我将URL更改为本地网络上的某个内容 import urllib.request f = urllib.request.urlopen('http://www.python.org/') print(f

我现在在一个公司网络上工作,遇到了一个问题,我的脚本无法连接到外部网络。我只是想知道是否有人知道网络安全中可能导致这种情况的常见做法

例如,我可以在firefox上访问www.example.com,但如果我的python脚本尝试连接,它将出现超时错误

这些脚本在另一个网络上运行得非常好,或者如果我将URL更改为本地网络上的某个内容

import urllib.request
f = urllib.request.urlopen('http://www.python.org/')
print(f.read(300))
回答:浏览器使用网络代理。脚本还必须使用该代理才能运行

import urllib.request

proxy = urllib.request.ProxyHandler({'http': '127.0.0.1'})
opener = urllib.request.build_opener(proxy)
urllib.request.install_opener(opener)
req = urllib.request.urlopen('http://www.google.com')
print(req.read())

很可能您的浏览器配置为使用代理。如果这是真的,那么您需要使用ProxyHandler来扩充python脚本(请参见)

检查代理设置。这很简单,但是127.0.0.1如何获取代理?我以为127个地址会把请求返回给computer@AlterProxyHandler()的参数应该是包含网络中使用的代理设置的字典。127.0.0.1不能是有效的代理。请询问您的网络管理员,或查看浏览器设置以查看代理的IP地址和端口号。我很困惑,它与127.0.0.1完全兼容-可能是python知道这是一个无效的代理,而获得了系统代理吗?我撒谎了,它工作不完全,我将任何响应误认为是正确的响应。。。我正在获取我的localhost webpageSee。如果您不向ProxyHandler()传递任何参数,它将尝试检测您的http_代理和https_代理环境变量。请从管理员处获取代理的详细信息,或查看浏览器设置。在firefox中,转到首选项->高级->设置以查看代理设置。