如何得知 Salesforce Org 自身的 IP ?
背景說明
我想用Salesforce去call別人的API,但是對方有ACL (access control list),需要先把我Salesforce的IP加進他們的 whitelist,我才能打得通。
Salesforce 官方其實有列出一大篇document說總共有哪些IP range。
Salesforce IP Addresses and Domains to Allow
但實在太多了,我有點不太確定是不是要請對方一次幫我把全部都加進去。
想先自行驗證一下 到底實際上自己的 IP 是否真的也有被列在 Salesforce 的 document。
那到底有沒有方法是可以看出我從 Salesforce 發出的request,IP Address 到底是哪裡呢?
解法
十行 Apex Code 即可解決,方法是利用 https://api.ipify.org 的服務
在Developer Console 去 Execute Anonymous Code:
HttpRequest req = new HttpRequest();
req.setMethod('GET');
req.setHeader('content-type', 'application/json');
req.setEndpoint( 'https://api.ipify.org');
Http http = new Http();
HTTPResponse res=null;
res = http.send(req);
System.debug(res.getBody());
System.debug('STATUS:'+res.getStatus());
System.debug('STATUS_CODE:'+res.getStatusCode());
留言
張貼留言