首页 > 解决方案 > python salesforce 没有连接,回家还好,不工作。防火墙/安全?

问题描述

我注册了自己的 salesforce 开发人员登录名。

我可以通过 salesforce 登录 url 从我的家用计算机和我的工作计算机连接到这个。

我现在正在编写 python 代码以从 salesforce 中提取。代码如下。

当我在家并连接到我的 ISP 时,代码在我的工作笔记本电脑上运行。

在我的工作笔记本电脑上运行相同的代码时(所以现在使用工作 ISP),代码无法连接。

我在工作时遇到的错误是:

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='login.salesforce.com', port=443): 使用 url: /services/Soap/u/40.0 超出最大重试次数(由 NewConnectionError 引起(': 无法建立新连接: [WinError 10060] 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应'))

所以期待防火墙会发生什么,而不是什么。

但我很困惑。当我使用我的 ISP 时,我的工作笔记本电脑对外界更加“开放”,这似乎是不对的。我原以为安全/防火墙会在工作笔记本电脑和 ISP 之间的一层中实现。所以 ISP 不可知论。这些笔记本电脑也可以在家中使用。在这方面我没有做错任何事。

下面是 Python 代码。

import unicodecsv
from salesforce_bulk import SalesforceBulk

bulk = SalesforceBulk(password='**', username='**', security_token='**')

job = bulk.create_query_job("Contact", contentType='CSV')

batch = bulk.query(job, "select Id,LastName from Contact")

bulk.close_job(job)

while not bulk.is_batch_done(batch):

    sleep(10)

for result in bulk.get_all_results_for_query_batch(batch):

    reader = unicodecsv.DictReader(result, encoding='utf-8')

    for row in reader:

        print(row) # dictionary rows

哎呀。弄清楚了。在工作中连接到 salesforce 时需要添加代理参数。有点启示。在家中使用的工作笔记本电脑缺少一定程度的安全/保护。没有意识到网络/防火墙/安全以这种方式工作。

标签: pythonsecuritynetworkingfirewall

解决方案


推荐阅读