1. 程式人生 > >java httpClient使用代理實現外網訪問

java httpClient使用代理實現外網訪問

專案生產環境往往會有這樣的需求,內網的生產環境的應用需要訪問網際網路上第三方的服務,但又出於安全考慮,不允許該生產機直接訪問網際網路,這時我們往往通過代理方式來實現網外服務的訪問:我們可以在可訪問網際網路的機器上,使用nginx或者apache做代理,然後通過httpClient的代理機制實現。

以下是httpClient使用代理的程式碼片段:

        String document = objectMapper.writeValueAsString(requestObj);
        HttpClient httpClient = clientBuilder.build();
        // 依次是代理地址,代理埠號,協議型別  
HttpHost proxy = new HttpHost(代理地址, 代理埠, "http"); RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); HttpPost httpPost = new HttpPost(url); httpPost.setEntity(new StringEntity(document, "UTF-8")); httpPost.addHeader("Content-Type", "application/xml;charset=utf-8"
); httpPost.setConfig(config); CloseableHttpResponse response = null; try{ response = (CloseableHttpResponse)httpClient.execute(target,httpPost); }finally{ if(response != null){ response.close(); } if(httpPost != null
){ httpPost.abort(); } }

相關推薦

java httpClient使用代理實現訪問

專案生產環境往往會有這樣的需求,內網的生產環境的應用需要訪問網際網路上第三方的服務,但又出於安全考慮,不允許該生產機直接訪問網際網路,這時我們往往通過代理方式來實現網外服務的訪問:我們可以在可訪問網際網路的機器上,使用nginx或者apache做代理,然後通過h

SSH反向代理實現訪問伺服器

機器狀況 機器號 IP 使用者名稱 備註 A 192.168.1.130 usr_a 目標伺服器,在區域網中,可以訪問 A B B.B.B.B usr_b 代理伺服器,在外網中,無法訪問 A C - - 可以直接訪問 B,無法直接訪問 A

Ngrok反向代理實現訪問

該篇部落格分享ngrok,這裡使用國內作者的ngrok,國外有ngrok,但是訪問國內訪問比較慢 ngrok 是一個反向代理,通過在公共的端點和本地執行的 Web 伺服器之間建立一個安全的通道。ngrok 可捕獲和分析所有通道上的流量,便於後期分析和重

Holer實現訪問本地MySQL資料庫

外網訪問內網MySQL資料庫 內網主機上安裝了MySQL資料庫,只能在區域網內訪問,怎樣從公網也能訪問本地MySQL資料庫? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝並啟動MySQL資料庫 預設安裝的MySQL資料庫埠是3306。 2. 實現步驟 2.1 下載並解壓

Holer實現訪問本地NodeJS

外網訪問內網Node.js 內網主機上安裝了NodeJS,只能在區域網內訪問,怎樣從公網也能訪問本地Node.js? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝並啟動Node.js 預設安裝的Node.js埠是3000。 2. 實現步驟 2.1 下載並解壓holer軟

Holer實現訪問本地WampServer

外網訪問內網WampServer 內網主機上安裝了WampServer,只能在區域網內訪問,怎樣從公網也能訪問本地WampServer? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝並啟動WampServer 預設安裝的WampServer埠是80。 2. 實現步驟 2

Holer實現訪問本地Jupyter Notebook

外網訪問內網JupyterNotebook 內網主機上安裝了JupyterNotebook,只能在區域網內訪問,怎樣從公網也能訪問本地JupyterNotebook? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝並啟動JupyterNotebook 預設安裝的Jupyter

Holer實現訪問本地PostgreSQL資料庫

外網訪問內網PostgreSQL資料庫 內網主機上安裝了PostgreSQL資料庫,只能在區域網內訪問,怎樣從公網也能訪問本地PostgreSQL資料庫? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝並啟動PostgreSQL資料庫 預設安裝的PostgreSQL資料庫埠是

Holer實現訪問本地RESTful API

外網訪問內網RESTful API 內網主機上安裝了RESTful API服務端程式,只能在區域網內訪問,怎樣從公網也能訪問本地RESTful API? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝並啟動RESTful API服務端程式 預設安裝的RESTful API服務

Holer實現訪問本地SQLServer資料庫

外網訪問內網SQLServer資料庫 內網主機上安裝了SQLServer資料庫,只能在區域網內訪問,怎樣從公網也能訪問本地SQLServer資料庫? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝並啟動SQLServer資料庫 預設安裝的SQLServer資料庫埠是1433。

Holer實現訪問本地Apache HTTP Server

外網訪問內網Apache HTTP Server 內網主機上安裝了Apache HTTP Server,只能在區域網內訪問,怎樣從公網也能訪問本地Apache HTTP Server? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝並啟動Apache HTTP Server

Holer實現訪問Oracle資料庫

外網訪問內網Oracle資料庫 內網主機上安裝了Oracle資料庫,只能在區域網內訪問,怎樣從公網也能訪問本地Oracle資料庫? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝Java 1.7及以上版本 執行命令java -version檢查Java安裝和配置是否正確。

Holer實現訪問本地SQLServer數據庫

日誌 strong str tar 問題 地址 局域網 projects 127.0.0.1 外網訪問內網SQLServer數據庫 內網主機上安裝了SQLServer數據庫,只能在局域網內訪問,怎樣從公網也能訪問本地SQLServer數據庫? 本文將介紹使用holer實現的

Holer實現訪問本地Nginx

外網訪問內網Nginx 內網主機上安裝了Nginx,只能在區域網內訪問,怎樣從公網也能訪問本地Nginx? 本文將介紹使用holer實現的具體步驟。 1. 準備工作 1.1 安裝並啟動Nginx 預設安裝的Nginx埠是80。 2. 實現步驟 2.1 下載並解壓holer軟體包 Holer軟體

通過內穿透實現訪問Tomcat區域網伺服器,

這幾天正在做一個小專案,專案需要搭建本地伺服器並且外網可以訪問到伺服器指定的檔案,這只是專案的開端,想發篇部落格記分享一下。由於我的網路是校園網所以必須要進行內網穿透,這樣外網才能訪問區域網主機。好的,那麼讓我來說一下具體的實現流程哈。主要軟體Tomcat7,Sun-Ngro

apache+svn+jira伺服器配置(通過80埠實現訪問

網上的svn與jira的整合文章很多也很雜,但大多千篇一律,並沒有解決我需要解決的問題,比如:配置完成後,還是不能從外網通過80埠同時訪問svn和jira兩種應用。而且還需要另外下載安裝Apache,配置起來也很麻煩。這不是我想要的。 本文主要解決的問題是,在內網架設ap

phpstudy搭建網站並實現訪問

最近伺服器被黑客攻擊,掛了,只能重灌系統,還好網站都在本地有備份. 於是又苦逼的搭建伺服器吧,這裡我沒有使用iis的伺服器而是用了Apache伺服器,並用的phpstudy整合. 搭建玩ftp,網站上傳完,在本地設定完域名資訊,但是在外網始終

使用SecureCRT轉發功能,實現訪問服務

A: 內網Linux系統,不能上外網 ip:192.168.6.10 有如下服務     22埠   ssh2 B: (windows系統) 內網主機,可以訪問A主機,可以通過閘道器訪問C主機. C: 外網Linux系統,公網ip:202.108.16.5 有如

【技術小記 | 伺服器】阿里雲專有網路實現訪問 Nginx 安裝與配置

歡迎大家訪問我的個人部落格:吳佳軼 | WuJiaYi,第一時間獲取最新的文章。 專有網路和經典網路的區別 相信很多人在購買阿里雲 ECS 雲伺服器的時候,對於 專有網路 和 經典網路 的網路型別看的不知所云。對於新手來說,不知道該如何選擇,很多人就

如何通過SecureCRT轉發功能實現訪問服務

公司有臺開發伺服器有外網地址,開放了ssh服務,上面裝有mysql服務,MySQL服務埠3306是沒有對外網開放的。所以如果在家要連線這臺伺服器的mysql資料庫得另外想其他辦法。好在SecureCRT提供了埠轉發的功能,能夠通過SecureCRT將內網埠對映到本地埠。 方