2018年5月17日 星期四

【編碼】url 網址 中文轉 百分比 符號

【編碼】url 網址 中文轉 百分比 符號

台積電 = % A 5 x % B F n % B 9 q  <-- p="">
示範 網址:https://www.ez2o.com/App/Web/UrlEncodeDecode
圖示如下:


2018年5月5日 星期六

【股東會紀念品】台新金 控 股票代號號:2887 日期:2018-05-04

股東會紀念品2018年  
台新金 2887 
圖樣 
實際樣品

【股東會紀念品】台新金 控 股票代號號:2887 日期:2018-05-04 

縮小 正方型 約 25x25  像中型小皮包

軟式,像綿被一樣,展開後超大一個後背包,很方便帶著

縮小的樣子,小小一個軟軟的

放大後 超大包包

2018年5月2日 星期三

【Java Web】URL 路徑

【Java Web】URL 路徑

如何抓取 URL

完整路徑:
request.getRequestURL().append('?').append(request.getQueryString())
範例:https://www.blogger.com/u/1/blogger.g?blogID=4669872918083795947#editor/target=post;postID=8481547310951663883


request.getQueryString()
參數路徑:blogID=4669872918083795947#editor/target=post;postID=8481547310951663883
備註:問號後面

2018年4月12日 星期四

【憑證 Certification 】PKCS 12 ( PFX ) 說明 -(P7簽章)

【憑證 Certification 】PKCS 12 ( PFX ) 說明


一、PKCS 12 實體檔又名 PFX檔案 ,為副檔名是 .pfx

二、經常用在 證券下單上 或 IIS TLS(SSL) 憑證 主機上

三、PFX 可以透過 html 5 的 File Reader 轉成 base64字串

  可透過 微軟 dll 元件 或 國外元件 Forge JavaScript元件 來讀 pfx 檔內容

四、PFX 內有 private key 跟 public key 跟 Cert 純憑證

五、能透過 private key 能反推出 public key

  Pfx 要拿到 Cert  必需 輸入 pfx 的 密碼 才能取到 Cert資訊

六、p7 簽章 需要 1.簽章內容 、2.Cert 、 3.private key ,就可以完成 P7簽章


2018年4月9日 星期一

2018年3月27日 星期二

【股票分享】群創 買進 成交 2018/03/22 成交單位:13 群創, 股票, 股票買進 10000股


【股票分享】群創 買進 成交 2018/03/22 成交單位:13  群創, 股票, 股票買進 5000股
成本:65,028 (含手續費 28塊)

【股票分享】群創 買進 成交 2018/03/22 成交單位:13.05  群創, 股票, 股票買進 5000股
成本:65,278 (含手續費  28塊)

總成本:130,306

【Eclipse】XML 編輯器選擇 (XSL Editor)

【Eclipse】XML 編輯器選擇

Eclipse 開 xml  要挑對 編輯器
挑對的話,就能把XML 文件排版格式化..

請選擇 XSL Editor


2018年3月16日 星期五

【資訊安全】Header content-security-policy

【資訊安全】Header content-security-policy

ALL_FORM
Chrome 處理 Iframe
frame-ancestors
frame-src

若如果header 也存在著 X-Frame-Options 將略過不處理 以frame-ancestors 為優先

在IE 上 不支援  frame-ancestors、frame-src 只支援 x-frame-options SAMEORIGIN

真是見鬼了

而 IE 只支援 ALLOW-FROM

2018年3月14日 星期三

【Tomcat】 調整 Response Headers Server:Apache-Coyote/1.1

【Tomcat】 調整 Response Headers Server:Apache-Coyote/1.1

server.xml


Connector 標籤
屬性:server="Microsoft-IIS/8.5"

請在測試機做,若在開發環境作, 可能會有副作用....比如..伺服器叫不起來等...

【JAVA】java 架構圖


2018年3月13日 星期二

【Eclipse】當專案 程式一堆 紅色打xx 無法編譯或LIB 載入失敗,請先看 Project Facet

【Eclipse】當專案 程式一堆 紅色打xx 無法編譯或LIB 載入失敗,請先看 Project Facet有沒有打勾,如果沒有,請把他「打勾勾」

關於 Dynamic Web Project (動態網站)開發設定


左邊你的專案資料夾,按右鍵「內容」,輸入 Project Facet ,選擇 Runimes

【Tomcat ,Java】佈署環境及基本名辭介紹(JRE,JDK)

【Tomcat ,Java】佈署環境及基本名辭介紹(JRE,JDK)

要安裝Tomcat 時,必需先要安裝必要 開發編譯元件(JDK)和執行平台元件(JRE)

Java JRE 全名:Java SE Runtime Environment 8
下載相關網址:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
比如:Tomcat 需要 JRE

Java JDK 全名:Java SE Development Kit 8
下載相關網址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


2018年3月12日 星期一

【Tomcat 8.0.50】config(web.xml, server.xml)...相關設定技巧

C:\apache-tomcat-8.0.50\conf\server.xml

標籤:Connector 底下
 屬性:server  -->header 中顯示 server 資訊  (可以改成 asp.net ) 範例: server="Asp.net"
 屬性:maxThreads -->連線數 預設200

C:\apache-tomcat-8.0.50\conf\web.xml

【Tomcat 8.0.50】安裝、移除 安裝在windows 服務裡面

【Tomcat】安裝、移除  安裝在windows 服務裡面
版本:tomcat 8.0.50

官網說明 網址:http://tomcat.apache.org/tomcat-8.0-doc/windows-service-howto.html#Installing_services

command
安裝
C:\apache-tomcat-8.0.50\bin>service.bat install




command
移除
C:\apache-tomcat-8.0.50\bin>tomcat8 //DS//Tomcat8


【Tomcat】Tomcat 8.0.50 RemoteAddrValve 設定

 Tomcat 8.0.5

org.apache.catalina.valves.RemoteAddrValve

提供兩個地方可以設定 XML
(針對1.舊版Tomcat的尚可設定,未來可能會拿掉)

1.C:\tomcat-install\conf\Catalina\localhost\
如果檔案不存在的話,就新增一個 manager.xml



2.新版:C:\apache-tomcat-8.0.50\webapps\manager\META-INF
context.xml

內地有個地方還蠻新的介紹 網址:https://www.w3cschool.cn/tomcat/zuxi1k90.html
tomcat 官網(Securing Management Applications)
網址:http://tomcat.apache.org/tomcat-8.0-doc/security-howto.html

2018年3月8日 星期四

【Tomcat】tomcat html Response Headers Cache-Control 200 ExpiresFilter jsp

當你遇到 Status Code:200 OK (from disk cache) 就會 GG

為什麼就會 GG ,因為瀏覽器會先讀取 暫存頁面.而不會先向 SERVER 要新的 頁面內容

透過 Tomcat JSP web.xml 裡面有提供 ExpiresFilter 機制就能處理這樣的狀況狀態


ExpiresDefault 代表 所有 MIME  text/plain image/png application/javascript...

若指定哪種類型 MIME
ExpiresByType text/html

以下這行,就會是 mas-age=0
now plus 0 second

以下這行,比對所有 url 網址
/*

若是Status Code:200 狀態
就會在 Response Headers 加上 Cache-Control: max-age=0

若是Status Code:304 狀態
預設會是略過不處理,這可以接受,因為比對 Server 跟 瀏覽端 雙方都相同狀態的意思

若是要在 tomcat log 中記錄的話
就是要到 C:\apache-tomcat-8.0.50\conf\logging.properties  <-- p="">最底下新增一行  org.apache.catalina.filters.ExpiresFilter.level = FINE
醬子就可以了

Tomcat 官網說明
http://tomcat.apache.org/tomcat-8.0-doc/config/filter.html#Expires_Filter

完整規範如下 大家可以參考 官網說明



















  <-- class="separator" config="" div="" filter.html="" http:="" org.apache.catalina.filters.expiresfilter.level="FINE" style="clear: both; text-align: center;" tomcat-8.0-doc="" tomcat.apache.org="" tomcat="" xpires_filter="">




2018年3月5日 星期一

2018年2月8日 星期四

【C#】API url parameter 參數 Encode 有趣的規範 cp950

【C#】API  url  parameter 參數 Encode 有趣的規範

web Client parameter 有含 中文 ,請注意 Api Server 系統 是utf8 接還是 big5 接 你的 參數

如果 api server 是  utf8 ,那很好,因為 html url 本身就是 follower utf8 格式

若 API SERVER 是BIG5 接 參數,請注意,
WEB CLIENT 的程式, 參數必需要再轉成 CP950 encode 編碼

如下:
Encoding cp950 = System.Text.Encoding.Default;
cp950 = Encoding.GetEncoding(950);

 string a = HttpUtility.UrlEncode(item.Value, cp950);  <----url big5="" nbsp="" p="">

為何要兩道手序,
因為  C# Encoding 有(utf8、utf16、utf32、ASCII) ,
就是沒有 BIG5格式

透過 Encoding GetEncoding 參數 950 幫我們抓 big5 格式回來..
=.=" 果然是美國人寫的程式...不是說要國際化嗎?

另外 網頁的 encodeURIComponent 字串會轉換成 UTF-8

所以程式接的時候是  HttpUtility UrlDecode(url)

但要再轉發 API 的話 就要看 對方  SERVER (參數)吃什麼  ContenType (utf8 or big5 ...)

以上

【C#】不能 var --->System.Web.HttpUtility.ParseQueryString (NameValueCollection)

【C#】不能 var  --->System.Web.HttpUtility.ParseQueryString (NameValueCollection)

要明確然指定 NameValueCollection

2018年2月6日 星期二

2018年2月1日 星期四

【Windows 指令】taskkill.exe 強制刪除 處理程序 PID


taskkill.exe 強制 刪除 處理程序 PID

C:\WINDOWS\system32\taskkill.exe /F /IM w3wp.exe /T


【C# NameValueCollection】 針對NameValueCollection 做 LINQ

        public static Dictionary ParseQueryString(string queryString)
        {
            System.Collections.Specialized.NameValueCollection nvc = System.Web.HttpUtility.ParseQueryString(queryString);

            var a = from key in nvc.Cast()
                    from value in nvc.GetValues(key)
                    where key != null
                    select new { key, value };

            return a.ToDictionary(pair => pair.key, pair => pair.value); ;
        }

2018年1月24日 星期三

【asp.net C#】在HttpClient的DefaultRequestHeaders上設置Cookie Header

可參考:
http://stackoverflow.com/questions/12373738/how-do-i-set-a-cookie-on-httpclients-httprequestmessage/13287224#13287224

https://d-fens.ch/2016/12/27/howto-set-cookie-header-on-defaultrequestheaders-of-httpclient/

重點兩種

【預設:HttpClientHandler(UseCookies=true)】

HttpClient <--httpclienthandler ookiecontainer="" p="">
cookieContainer.Add(baseAddress, new Cookie("CookieName", "cookie_value"));

【HttpClient <--httpclienthandler p="">
若是:HttpClientHandler(UseCookies=false) 則是手動加入header

httpClient.DefaultRequestHeaders.Add("Cookie", "auth=ArbitrarySessionToken");