Csharp WebRequest實作POST來取得網頁內容(及檔案下載)

CSharp要取得網頁內容可以利用內建的WebBrowser來取用IE Container進行連線與資料的取得,WebBrowser實作了很多內容,像是Javascript、HTML parse等等,功能十分強大。

這個範例不使用WebBrowser,而是使用HttpWebRequest來取得遠端的html內容。

Web Server說穿了也就是一個Socket Server,只是Browser在與其溝通時使用了規定的規則而已,以下範例會模擬此規則傳送header來告知Web Server,假裝自己是Browser,而此也會利用cookieContainer來記錄傳輸過程的Session情況,如此登入後的Session就可以在往後的需求連線中被使用。

程式說明:

Server端

Read More

Log4net Visual Studio版的log4j

在撰寫Java程式時很習慣的使用log4j來當程式訊息的輸出記錄,只需要簡單的改變設定檔就可以改變訊息是要顯示於Console、存入資料庫或是存於檔案裡,而且可選擇對於不同層級的記錄,十分方便於開發的Debug。

log4j也有.net版本,就叫log4net,也是由Apache基金會開發維護,在使用上與log4j還蠻相似的,log4j在使用時只需把config檔放置於classes跟目錄就可以了,而log4net則需要手動載入此設定檔,安裝設定的方法如下。

Read More

Visual Studio Express .NET C#(C Shape)連接MySQL資料庫

Microsoft Visual Studio Exrpess是微軟提供的免費而且比較簡單的.NET開發工具,跟一套數萬元的Visual Studio有著許多限制,像是在連接資料庫時就提供了比較少連接選擇方式,雖然可以用ODBC的方式來解決部份的問題,不過效能上還是直接使用Connector比較好。

MySQL提供了一個免費的Connector,可藉由此Connector來直接連接資料庫,只需要加入參考的DLL,再使用連線字串建立連線就可以使用了,不過並無法直接使用Express提供的加入新資料來源(資料庫)精靈來操作。

底下提供一個簡單的範例,利用SQLCommand來進行查詢,回傳結果。

1.安裝My SQL Connector

可由MySQL官方網站下載,請選擇Windows (x86, 32-bit), MSI Installer或是mysql-connector-net-6.3.6.zip其中一個,mysql-connector-net-6.3.6-src.zip是需要自行Complier的原始碼內容。

2.加入參考

可直接於.NET分頁選擇MySQL.Data或是利用瀏覽來加入DLL,二者選一

Read More

JApplet與Web Server做溝通

Applet除非是內部或自己使用時,可以直接使用JDBC來連接資料庫,而一般對外開放的服務如果讓Applet直接連接到資料庫,需要開port讓Clinet 的Applet來使用,在安全性上相對的十分危險。

此時可以利用一個中繼的Sokcet Server或是Web Server來當與資料庫連接的proxy代理服務器,如此Apllet只要連接Web Server,對Server提出需求,而Server會依需求與資料庫做溝通,並回傳Applet要求之資料,如此可以做成多層式的架構來解決Applet資料取得之問題。

AppletWeb1.jpg

範例設計上有一個輸入框JTextField可以輸入要傳給Server的資料內容,而下方的JTextArea是承接從Server回傳的資料內容,按鈕則可進行動作Action。

Read More

All in One SEO中文描述Descriptions支援問題解決方法

wordpress的外掛All in one SEO不知道在幾版後突然就對繁體中文的支援度降低了(消失?)了,在options裡設定自動取得meta descriptions對於中文文章並不會有作用,而且英文字詞間是以空白做為分格與中文字連續沒有分格不同,像是”Hello World !”與”哈囉世界!”,在取descriptions就會有明顯有問題。

搜尋了一下資料找到了一個解決方式,如下:

1.先到外掛編輯器

1.jpg

2.選擇要編輯的外掛All in One SEO Pack,然後按下選取,選擇All-in-one-seo-pack/aioseop.class.php這個檔案。

Read More