1. 程式人生 > >對於Webservice SOAP請求中,需要進行Basic認證和動態獲取使用者名稱密碼辦法

對於Webservice SOAP請求中,需要進行Basic認證和動態獲取使用者名稱密碼辦法

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.net.Authenticator;
import java.net.PasswordAuthentication;

/**
 * @author lihuaiyu
 * @date 2018/1/15
 * Email : [email protected]
 * QQ : 284067520
 */
public class BaseClient {
    private static final Logger logger = LoggerFactory.getLogger
(BaseClient.class); static class MyAuthenticator extends Authenticator { public PasswordAuthentication getPasswordAuthentication() { logger.info("獲取URL連線使用者名稱密碼,路徑:" + super.getRequestingURL().toString());
            //這裡來進行url判斷,父類中有很多獲取請求相關資料方法,合理利用
            if (super.getRequestingURL().toString().indexOf("http://127.0.0.1/test?wsdl") {
                
                return 
("username","password".toCharArray())); } else if (super.getRequestingURL().toString().indexOf("http://127.0.0.2/test1?wsdl") {
              return ("username","password".toCharArray()));
} return null; } }
     public static void main(String[] args) throws 
IOException {     //使用Autherticator設定全域性預設認證物件 Authenticator.setDefault(new MyAuthenticator());     //請求wsdl資源或者是endpoint地址。這裡兩個不同ip請求就可以使用不同使用者名稱密碼登入了,儘量不要使用cxf客戶端進行請求,Basic認證沒問題,但是NTLM認證方式就會不行,尤其是微軟的產品,真是難用
        //在請求url時,第一次都是匿名訪問,讓服務端返回401時,會自動呼叫getPasswordAuthentication方法獲取到使用者名稱密碼
        //注意setDefault只能生效一個,意味著java執行環境下只有一個認證物件有效,所以只能重寫獲取PasswordAuthentication物件的地方做邏輯判斷才能請求不同的basic認證的系統
URL url = new URL("http://127.0.0.1/test?wsdl");
        URL url1 = new URL("http://127.0.0.2/test1?wsdl");
        url.getContent();
        url1.getContent();
     }
}

相關推薦

對於Webservice SOAP請求需要進行Basic認證動態獲取使用者名稱密碼辦法

import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.net.Authenticator; import java.net.PasswordAuthentication; /** * @

將爬取的資料傳入到pipeline需要對settings.py進行修改

爬蟲主程式碼xx.py完成之後,在Terminal端,執行scrapy crawl xx.py 1.如果執行結果正確,這時候,我們需要將爬取的資料通過某種途徑(資料庫、.txt存入本地或者其他)儲存下來,此時pipeline.py檔案用來決定到此是以哪種方式儲存下來。 此時,首先編寫pipe

layui進行分頁處理後端返回資料沒有count欄位需要單獨獲取再新增到資料進行項渲染另有layui表格資料增刪改查前後端互動

整體效果圖如下: (1)分頁前端介面處理 (2)分頁後端的資料處理 具體程式碼如下: 前端介面程式碼:包括分頁,增刪改查,重新整理(搜尋功能還沒做,後端是java程式碼) <!DOCTYPE html> <html> <hea

為什麼svm演算法在求解過程需要將原始問題轉化為對偶問題?

對偶問題將原始問題中的約束轉為了對偶問題中的等式約束 方便核函式的引入 改變了問題的複雜度。由求特徵向量w轉化為求比例係數a,在原始問題下,求解的複雜度與樣本的維度有關,即w的維度。在對偶問題下,只

ssm框架需要引入的jar包、Maven的pom.xml

工欲善其事,必先利其器。開發之初或者開發過程中按需求引入必要jar包,在pom.xml檔案中寫入的<dependency>標籤在這裡:https://mvnrepository.com/artifact/org.springframework/spring-test/4.3.7.RELE

unity 中將c#打包成dll需要注意的地方

一般意義上的把純c#打包成dll的流程就沒有什麼好說的了,就是新建一個c#類庫專案,寫好程式碼,直接編譯就好了,唯一需要注意的就是在編譯的時候,記得選擇的目標框架版本不要太高,unity當前支援的最高版本好像是到 .net3.5。 還有就是儘量能選 Cli

Android自定義切換佈局(請求無網路無資料等)

在一般的專案中,像請求中、無資料、無網路、請求超時等這些狀態的佈局我們需要經常切換。 在之前的專案中,我是在每個需要顯示這些佈局的xml檔案中都include請求中,無資料,無網路等這些佈局,然後再Activity中控制他們的顯示與隱藏,雖然能實現效果,但是控

Http請求postput的區別

 有的觀點認為,應該用POST來建立一個資源,用PUT來更新一個資源;有的觀點認為,應該用PUT來建立一個資源,用POST來更新一個資源;還有的觀點認為可以用PUT和POST中任何一個來做建立或者更新一個資源。這些觀點都只看到了風格,爭論起來也只是爭論哪種風格更好,其實,用

GETPOST請求url的引數form表單的引數怎麼區分

在和web前端開發過程中,經常會遇到使用form表單提交POST請求和GET請求。 一般GET請求格式如下: http://xxx../path?key1=value1&key2=value2 而POST請求的引數一般在請求體中。 但是有時會發現,web端提交的PO

在velocity如果需要進行計算

最近專案一直用veloctiy作為前端模板,velocity還算簡單易學,但是今天在用到減法運算是我蛋疼了。看例子: 1、example1.vm Html程式碼  <html >       #set($a=10)       <span&

一文帶您瞭解 Elasticsearch 如何進行索引管理(圖文教程)

歡迎關注筆者的公眾號: 小哈學Java, 每日推送 Java 領域乾貨文章,關注即免費無套路附送 100G 海量學習、面試資源喲!! 個人網站: https://www.exception.site/essay/about-elasticsearch-index-manage 在 Elasticsea

HTTP 冷知識 | HTTP 請求空格應該被編碼為 %20 還是 + ?

HTTP 請求中,空格應該被編碼為什麼?今天我們走進 RFC 文件和 W3C 文件,瞭解一下這個「史詩級」大坑。 1.%20 還是 + ? 開始講解前先看個小測試,在瀏覽器裡輸入 blank test( blank 和 test 間有個空格),我們看看瀏覽器如何處理的: 從動圖可以看出瀏覽器把空格解析為一

LINUX系統軟/硬鏈接inode的一些關系。

tex log windows app 發的 查看 文件名 並不是 存儲 前言:眾所周知硬盤是計算機不可缺少的一部分,不管這個計算機上運行著的是什麽系統,但是存儲設備,都是必不可少的,而inode則是磁盤存儲時無法替代的一部分。所以我想談一下在linux系統中關於inode

Java內部類的概述內部類的訪問特點內部類的分類(內部類的位置)

back 外部 mage 對象 post info bsp 一個 strong 內部類的概述:   把類定義在另一個類的內部,該類就被稱為內部類。   舉例:把類B定義在類A中,類B就被稱為內部類。 內部類的訪問特點:   A:內部類可以直接訪問外部類的成員,包括

Objective-C類方法的gettersetter可以用點運算符嗎?

clang col 靜態變量 變量 uri family lan getc sta Objective-C中,對象實例property的getter和setter可以使用點運算符來操作,那麽類方法的getter和setter可以使用點運算嗎? 答案是肯定的。 看如下代碼

asp.net<%#%>,<%=%><%%>分別是什麽意思有什麽區別 --轉

bind ase bbbb pwd write ava int pla public 在asp.net中經常出現包含這種形式<%%>的html代碼,總的來說包含下面這樣幾種格式: 一. <%%> 這種格式實際上就是和asp的用法一樣的,只是asp中

SQL表之間的左聯右聯是什麼意思

定義: 左聯: 首先取出a表中所有資料,然後再加上與a,b匹配的的資料 內聯:兩個表a,b相連線,要取出id相同的欄位 右聯:指的是首先取出b表中所有資料,然後再加上與a,b匹配的的資料 表關聯是在SQL中非常常用的東西 join全連線:查詢左表(主表)和右表(子

在C#Json的序列化反序列化的幾種方式總結(轉載)

在這篇文章中,我們將會學到如何使用C#,來序列化物件成為Json格式的資料,以及如何反序列化Json資料到物件。 什麼是JSON? JSON (JavaScript Object Notation) is a lightweight data-interchange format.

AD設計灌銅方式SolidHatch方式比較

實心覆銅優點:具備了加大電流和遮蔽雙重作用,硬度高     解決辦法:一般也會開幾個槽,緩解銅箔起泡 缺點:如果過波峰焊時,板子就可能會翹起來,甚至會起泡。 網格覆銅優點:從散熱的角度說,網格有好處(它降低了銅的受熱面)又起到了一定的電磁遮蔽的作用

Python Web開發WSGI協議的作用實現原理詳解

首先理解下面三個概念: WSGI:全稱是Web Server Gateway Interface,WSGI不是伺服器,python模組,框架,API或者任何軟體,只是一種規範,描述web server如何與web application通訊的規範。 uwsgi:與WSGI一樣是一種協議,是uWSGI伺服器