網頁轉址一般分為 1.直接導向Url 2.夾帶Get參數在Url後面
如果要使用Post的方式要如何跳轉呢?
Ans:使用Form Action 設定Method='Post'
範例前端程式
------------------------------------------------------
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<title></title>
</head>
<body>
<form id="form1" method="post" runat="server">
<div>
<asp:HiddenField ID="hidENG_ID" runat="server" ClientIDMode="Static" />
<asp:HiddenField ID="hidToken" runat="server" ClientIDMode="Static" />
</div>
</form>
<form id="form2" method="post">
<div>
<input id="Token" name="Token" type="text" value="" />
<input id="GetLoadRRFP" type="submit" value="Submit" />
</div>
</form>
<script>
function GetLoadRRFP() {
//$.post($("#hidENG_ID").val(), { "Token" : $("#hidToken").val()});
$("#Token").val($("#hidToken").val());
$('#form2').attr('action', $("#hidENG_ID").val());
$("form2").submit(function (event) {
event.preventDefault();
});
}
$(document).ready(function () {
GetLoadRRFP();
$('#form2').submit();
});
</script>
</body>
</html>
------------------------------------------------------
範例後端程式
------------------------------------------------------
protected void Page_Load(object sender, EventArgs e)
{
hidENG_ID.Value = "http://xxx.xxx.xxx.xxx/";
hidToken.Value = "TokenValues";
}
------------------------------------------------------
開啟新頁面在PageLoad事件中將數值設定至前端物件,並將參數設置至要Post的Form中,完成後觸發Submit事件即可達成目的
肉羹紀錄歷程
2018年6月26日 星期二
2018年6月6日 星期三
[GIS][MS-SQL]匯入ShapeFile檔案資料到MS-SQL
1.到網站下載Shape2SQL->網站
2.使用QGIS開啟ShapeFile檔案
3.查看檔案 > 右鍵 > Properties > Source > 編碼[UTF-8]
4.轉座標格式 [EX:W84:3857]
5.開啟Shape2SQL執行檔 > Shape2Sql.exe
6.Shapefile選擇檔案位置 > Server選擇要更新資料庫 > Table Name輸入資料表名稱 > 勾選想要的欄位
7.點擊Upload to Database > 完成
2.使用QGIS開啟ShapeFile檔案
3.查看檔案 > 右鍵 > Properties > Source > 編碼[UTF-8]
4.轉座標格式 [EX:W84:3857]
5.開啟Shape2SQL執行檔 > Shape2Sql.exe
6.Shapefile選擇檔案位置 > Server選擇要更新資料庫 > Table Name輸入資料表名稱 > 勾選想要的欄位
7.點擊Upload to Database > 完成
2018年6月3日 星期日
[C#, Windows]Excel讀取出現['Microsoft.ACE.OLEDB.12.0' 提供者並未登錄於本機電腦上]錯誤,解決方法
使用C#讀取Excel
讀取範例程式碼
---------------------------------------------------------------------------------------------------
string tableName = "[" + sheet + "$]";//在頁簽名稱後加$,再用中括號[]包起來
string sql = "SELECT * FROM " + tableName;//SQL查詢
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;Readonly=0'");
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
DataTable dt = new DataTable();
try
{
da.Fill(dt);//第一行為標頭
}
catch (Exception ex)
{}
finally
{
conn.Close();
}
----------------------------------------------------------------------------------------------------
解決方法
原因:Office版本太新,需要使用舊版本的連線元件,下載網址如下
2007 Office system 驅動程式:資料連線元件
讀取範例程式碼
---------------------------------------------------------------------------------------------------
string tableName = "[" + sheet + "$]";//在頁簽名稱後加$,再用中括號[]包起來
string sql = "SELECT * FROM " + tableName;//SQL查詢
OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1;Readonly=0'");
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
DataTable dt = new DataTable();
try
{
da.Fill(dt);//第一行為標頭
}
catch (Exception ex)
{}
finally
{
conn.Close();
}
----------------------------------------------------------------------------------------------------
解決方法
原因:Office版本太新,需要使用舊版本的連線元件,下載網址如下
2007 Office system 驅動程式:資料連線元件
2018年5月10日 星期四
[Python]使用VisualStudio執行Python Word2Vec範例
Step1、取得GitHub程式
Step2、取得維基百科中文字庫(.bz2檔案)
Step3、安裝套件[gensim] Python3.6 模擬器 > 右鍵 > 安裝Python套件 >查詢[gensim]並下載
Step4、執行wiki_to_txt.py檔案 > Python3.6 模擬器 > 右鍵 >開啟命令提示字元> python wiki_to_txt.py xxxxxxxxxx.bz2 > 生成wiki_texts.txt檔案
Step5、下載OpenCC軟體 > 下載[opencc-1.0.1-win64.7z]
Step6、執行OpenCC軟體轉繁體中文 > 開啟 opencc.exe > 執行語法 > 生成wiki_zh_tw.txt檔案
執行語法:opencc -i wiki_texts.txt -o wiki_zh_tw.txt -c s2tw.json
Step7、執行segment.py > 生成wiki_seg.txt檔案
Step8、執行train.py檔案 > 生成word2vec.model檔案
訓練可調整參數
class gensim.models.word2vec.Word2Vec(sentences=None, size=100, alpha=0.025, window=5, min_count=5, max_vocab_size=None, sample=0.001, seed=1, workers=3, min_alpha=0.0001, sg=0, hs=0, negative=5, cbow_mean=1, hashfxn=<built-in function hash>, iter=5, null_word=0, trim_rule=None, sorted_vocab=1, batch_words=10000)
2018年4月16日 星期一
[MS-SQL]資料庫組態管理員 發生[0x800706be]錯誤
2018年4月12日 星期四
[Windows]Outlook轉o365匯入pst檔案
步驟一、編輯登入檔案 2013、2016 範例,執行已下登入檔案
office2013_outlook.reg
-----------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover]
"ExcludeScpLookup"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover\RedirectServers]
"autodiscover-s.outlook.com"=hex(0):
"autodiscover.hotmail.com"=hex(0):
-----------------------------------------------------
office2016_outlook.reg
-----------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover]
"ExcludeScpLookup"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover\RedirectServers]
"autodiscover-s.outlook.com"=hex(0):
"autodiscover.hotmail.com"=hex(0):
-----------------------------------------------------
步驟二、匯出舊Outlook檔案(backup.pst)
步驟三、控制台 > 郵件 > 顯示設定檔
步驟四、新增帳號o365並驗證登入
步驟五、設定[選擇提示使用的設定檔]
步驟六、重新登入outlook 以新增的帳號登入 > 選項 > 進階 > 匯出 > 選擇[從其他程式或檔案匯入] > 選擇檔案並匯入 > 完成
office2013_outlook.reg
-----------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover]
"ExcludeScpLookup"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoDiscover\RedirectServers]
"autodiscover-s.outlook.com"=hex(0):
"autodiscover.hotmail.com"=hex(0):
-----------------------------------------------------
office2016_outlook.reg
-----------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover]
"ExcludeScpLookup"=dword:00000001
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover\RedirectServers]
"autodiscover-s.outlook.com"=hex(0):
"autodiscover.hotmail.com"=hex(0):
-----------------------------------------------------
步驟二、匯出舊Outlook檔案(backup.pst)
步驟三、控制台 > 郵件 > 顯示設定檔
步驟四、新增帳號o365並驗證登入
步驟五、設定[選擇提示使用的設定檔]
步驟六、重新登入outlook 以新增的帳號登入 > 選項 > 進階 > 匯出 > 選擇[從其他程式或檔案匯入] > 選擇檔案並匯入 > 完成
2018年4月11日 星期三
[C#]HttpWebRequest爬蟲
步驟一、Default.aspx頁面中建立lbtnSend按鈕
步驟二、建立AccountInfo.cs 檔案與SetHttpWebRequest.cs 檔案
步驟三、設定要抓取的網站網址
----------------------------------------------------------------------------------------------------------------
Default.aspx 預設目錄
----------------------------------------------------------------------------------------------------------------
protected void lbtnSend_Click(object sender, EventArgs e)
{
AccountInfo accountInfo = new AccountInfo("123", "456");
string url, postData, html;
url = "http://rrfp.swcb.gov.tw/";
postData = string.Format("hidLoginType=A&hidRadio=SSO&LoginType=SSO&LOGIN_TYPE=A&ID_NO=&USER_ID={0}&USER_PWD={1}", accountInfo.Account, accountInfo.Password);
html = SetHttpWebRequest.SetLoginHttpWebRequest("POST", url, postData, accountInfo, 0);
url = "http://rrfp.swcb.gov.tw/Home/Index";
html = SetHttpWebRequest.SetLoginHttpWebRequest("GET", url, null, accountInfo, 0);
url = "http://rrfp.swcb.gov.tw/DES_Analys/Home_Analys_Index";
html = SetHttpWebRequest.SetLoginHttpWebRequest("GET", url, null, accountInfo, 0);
}
----------------------------------------------------------------------------------------------------------------
AccountInfo.cs 帳號型態
----------------------------------------------------------------------------------------------------------------
public class AccountInfo
{
/// <summary>
/// 帳號
/// </summary>
public string Account { get; set; }
/// <summary>
/// 密碼
/// </summary>
public string Password { get; set; }
/// <summary>
/// 跳轉網址
/// </summary>
public string RedirectUrl { get; set; }
/// <summary>
/// 登入狀態
/// </summary>
public bool LoginedStatus { get; set; }
/// <summary>
/// 登入金鑰
/// </summary>
public string Uid { get; set; }
/// <summary>
/// 存放來源Cookie
/// </summary>
public CookieCollection CookieCollection { get; set; }
/// <summary>
/// 登入失敗
/// </summary>
public bool IsFailure { get; set; }
/// <summary>
/// 連續服務器錯誤計數
/// </summary>
public int WebExCount { get; set; }
/// <summary>
/// 建構子 設定帳密
/// </summary>
/// <param name="account">帳號</param>
/// <param name="password">密碼</param>
public AccountInfo(string account, string password)
{
Account = account;
Password = password;
CookieCollection = new CookieCollection();
}
}
----------------------------------------------------------------------------------------------------------------
SetHttpWebRequest.cs POST/GET方法
----------------------------------------------------------------------------------------------------------------
public class SetHttpWebRequest
{
//設定登入要求器
public static string SetLoginHttpWebRequest(string method, string url, string postData, AccountInfo accountInfo, int proxyIndex)
{
//協定
HttpWebRequest request;
request = WebRequest.CreateHttp(url);
request.Method = method;
request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36";
request.Accept = "*/*";
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.AllowAutoRedirect = false;
request.KeepAlive = true;
request.Referer = "http://rrfp.swcb.gov.tw/";
request.Timeout = 10000;
request.ReadWriteTimeout = 10000;
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(accountInfo.CookieCollection);
//傳送資料
if (postData != null)
{
byte[] postByte = Encoding.UTF8.GetBytes(postData);
request.ContentLength = postByte.Length;
Stream stream = request.GetRequestStream();
stream.Write(postByte, 0, postByte.Length);
stream.Close();
}
//接收回應
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
string html = string.Empty;
if (response != null)
{
StreamReader reader;
if (string.Equals("gzip", response.ContentEncoding, StringComparison.CurrentCultureIgnoreCase))
{
reader = new StreamReader(new GZipStream(response.GetResponseStream(), CompressionMode.Decompress), Encoding.UTF8);
}
else
{
reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
}
html = reader.ReadToEnd();
reader.Close();
foreach (Cookie cookie in response.Cookies)
{
accountInfo.CookieCollection.Add(cookie);
}
}
response.Close();
request.Abort();
return html;
}
}
----------------------------------------------------------------------------------------------------------------
2018年4月10日 星期二
[Katalon]自動化測試
步驟一、開啟Google瀏覽器 > 開啟Chrome線上應用程式商店 > 查詢Katalon Recorder > 掛載Katalon Recorder (Selenium IDE for Chrome)
步驟二、開啟掛在套件,點擊Record即可開始錄製步驟
備註:javascript生成動作或無指定ID物件可能會有錯誤或無反應的情況
步驟二、開啟掛在套件,點擊Record即可開始錄製步驟
備註:javascript生成動作或無指定ID物件可能會有錯誤或無反應的情況
2018年4月8日 星期日
[Google]Google Hacking 淺談
使用Google Search與指令進行深度網頁查詢
步驟一、了解基本語法 [Basic Search Command]
步驟一、了解基本語法 [Basic Search Command]
- intitle
- inurl
- intext
- site
- filetype
- "...."
- +
- -
- |
- AND
- OR
步驟二、指令應用 [經常使用查詢Google會記錄,請小心使用]
- AND 與 OR 語法需大寫
- "...." 內可使用正則語句,如"t?name"則會找到t-time 或 it time等網頁內容
- +號與-號則是進行條件篩選,過濾網頁包含字串
- filetype為指定收尋檔案類型,如xls、pdf、txt等檔案
步驟三、參考網路查詢資源
- Google Hacking Database
- Google Hacking Dork List
2018年4月3日 星期二
訂閱:
文章 (Atom)
[JQuary][C#]使用jQuary實作form action post參數
網頁轉址一般分為 1.直接導向Url 2.夾帶Get參數在Url後面 如果要使用Post的方式要如何跳轉呢? Ans:使用Form Action 設定Method='Post' 範例前端程式 -----------------------------...
-
步驟一、[資料庫] > [右鍵] > [工作] > [卸離] 步驟二、[資料夾] > [右鍵] > [內容] > [安全性] > [加入權限] 步驟三、[資料庫] > [附加] > [選擇檔案] ...
-
1.到網站下載Shape2SQL-> 網站 2.使用QGIS開啟ShapeFile檔案 3.查看檔案 > 右鍵 > Properties > Source > 編碼[UTF-8] 4.轉座標格式 [EX:W84:3857] 5.開啟S...