簡體   English   中英

如何知道JSP中的遠程IP地址

[英]How to know Remote IP Address in JSP

我有一個Web應用程序,通過它可以進行付款交易。

申請流程

用戶將打開我的應用程序,然后單擊付款按鈕。 現在,我將把請求重定向到支付網關提供商(ICICI,EBS,PayPal等)。 現在,支付網關提供商頁面將出現在我的網站中。 現在,付款過程將完成,並且付款網關提供商將把他們的回復發布到我的應用程序(到JSP頁面)。 捕獲響應后,我將處理請求。

我的要求

當他們呼叫我的JSP時,我怎么知道ICICI,PayPal或EBS服務器的IP地址。 如果我調用request.getRemoteAddr() ,它將提供客戶端IP地址。 我想知道支付網關服務器的IP地址。

提供者將數據發布為GET而不是POST。 在這里,我沒有提到我的自動付款網關提供商。

通常,只有在以下情況下,您才能在沒有付款提供商幫助的情況下了解此信息:

  • 您與提供者之間沒有代理,並且
  • 提供商直接向您發送HTTP POST(或類似消息)

在這種情況下, ServletRequest.getRemoteAddr()應該給您提供者的地址。

如果你的客戶端瀏覽器的地址,而不是,則可能是供應商直接將快遞給你,而是指示客戶端瀏覽器發送(最有可能使用Javascript)。 在這種情況下,您將無法找到提供商所發送的地址。


無論如何,您為什么需要知道支付提供商的IP地址? 您自己重定向到提供者,所以您已經有了地址,不是嗎?

也許您可以更詳細地說明您,客戶端瀏覽器和付款提供商之間的數據流,以及為什么要知道提供商的IP地址? 也許那時我們可以提供更好的幫助。

對於PayPal,您可以使用IPN
https://www.paypal.com/ipn

即時付款通知(IPN)是PayPal的消息服務,當交易受到影響時會發送通知。 集成IPN后,賣家可以使后台自動化,因此他們不必等待付款來觸發訂單履行。

使用IPN,您可以從PayPal服務器獲得對您的IPN網址的POST / GET調用。 這意味着客戶付款后不必回到您的網站,也不必驗證客戶數據-而是,PayPal服務器進行3次握手:他們向您發送付款數據,您向您發送支票,並且他們驗證檢查您所擁有的數據是否正確。 在這種情況下,服務器IP是http呼叫的始發IP。

其他服務可能與此類似。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM