python - 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 时需要添加代理参数。有点启示。在家中使用的工作笔记本电脑缺少一定程度的安全/保护。没有意识到网络/防火墙/安全以这种方式工作。
解决方案
推荐阅读
- c# - 避免创建只需要不同运算符的重复方法
- python - 赠品命令时间转换错误 Discord.Py
- r - flexdashboard 中的章节标题在哪里?
- angular - 如何防止用户在密码字段中输入空格?
- javascript - 为什么方向“rtl”会阻止按钮单击事件在 JavaScript 中触发?
- pandas - 如何从数据框中提取不同的 4 行组并取消堆叠列
- ios - MKCoordinateRegion 与 region.span.latitudeDelta 之间的区别?
- javascript - 如果事件是 Enter Button 或鼠标单击,则执行某些操作
- python - 无法订阅本地蚊子经纪人
- javascript - io() 和 feathers() 函数是如何存在的?