タグ

ブックマーク / dobon.net (70)

  • プロキシサーバーを使用してダウンロードする

    プロキシサーバーを指定してダウンロードする個々のWebRequestで使用するプロキシを設定するWebRequest.ProxyプロパティにWebProxyオブジェクトを設定することにより、プロキシサーバーを指定できます。 プロキシサーバーに「localhost:8080」を指定する例を以下に示します。 'HttpWebRequestオブジェクトの作成 Dim webreq As System.Net.HttpWebRequest = _ CType(System.Net.WebRequest.Create("http://www.yahoo.com"), _ System.Net.HttpWebRequest) 'プロキシの設定 'プロキシサーバーに"localhost:8080"を指定 Dim proxy As New System.Net.WebProxy("http://local

    プロキシサーバーを使用してダウンロードする
  • HTTPの応答時のステータスコードを取得する

    HTTPの応答時のステータスコードを取得する「WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示する」で紹介したように、HttpWebRequest、HttpWebResponseクラスを使って応答を受信した時、そのステータスコード("200 OK"や"404 Not Found"など)はStatusCodeプロパティで、またその説明はStatusDescriptionプロパティで分かります。 "404 Not Found"などのプロトコルレベルのエラーの場合、HttpWebRequestのGetResponseメソッドでWebException例外がスローされます。この場合ステータスコードを知るには、WebExceptionを捕捉し、そのStatusプロパティがWebExceptionStatus.ProtocolErrorであるか調べ、そうであればR

    HTTPの応答時のステータスコードを取得する
  • UACが有効の時、アプリケーションを管理者に昇格させて起動する

    UACが有効の時、アプリケーションを管理者に昇格させて起動するWindows VistaからUAC(ユーザーアカウント制御、User Account Control)が導入されました。これによって、特別な場所へファイルやレジストリを書き込む等の操作を行なうアプリケーションを実行する時、管理者権限に昇格させないと正常に機能しない恐れがあります。ここでは、管理者権限に昇格させてアプリケーションを起動する方法と、作成したアプリケーションが起動される時に自動で管理者権限に昇格されるようにする方法を紹介します。 コンテキストメニューで「管理者として実行」を選択して実行するまずは基を確認する意味で、.NET Frameworkとは関係ありませんが、アプリケーションを管理者権限に昇格させて起動する方法を2つ説明します。分かっている方は読み飛ばしてください。 アプリケーションの実行ファイルやショートカッ

    UACが有効の時、アプリケーションを管理者に昇格させて起動する
  • URLエンコード、URLデコードを行う

    URLエンコード、URLデコードを行うここでは、文字列をURLエンコード(パーセントエンコーディング、URLエスケープ、URL符号化、パーセント符号化、百分率符号化)する方法と、URLデコードする方法を紹介します。 URLエンコードを行うHttpUtility.UrlEncodeメソッドHttpUtilityクラス(System.Web名前空間)のUrlEncodeメソッドを使ってURLエンコードを行うことができます。HttpUtilityクラスを使用するには、System.Web.dllを参照設定に追加する必要があります。 以下に、HttpUtility.UrlEncodeメソッドが文字列をどのようにエンコードするかを調べるコードを示します。 'URLエンコードする文字列 Dim str As String = "!()_-*.aA0 ?#$%&|@\/[]{}<>+=^~""'`;:,

    URLエンコード、URLデコードを行う
  • デジタル署名を作成、検証する

    デジタル署名を作成、検証するここでは、「デジタル署名」を行う方法を紹介します。デジタル署名は、公開鍵暗号方式を使って電子署名を実現する方法で、デジタル署名を使うことにより、そのデータを作成したのが人であることを証明できたり、データが改ざんされていないことを確認できたりします。デジタル署名について詳しくは、「デジタル署名:ITpro」などをご覧ください。 .NET Frameworkにはデジタル署名を行うためのクラスとして、DSACryptoServiceProviderクラス、RSACryptoServiceProviderクラス、ECDsaCngクラス(.NET Framework 3.5以降)が用意されています。DSACryptoServiceProviderクラスはDSAを、RSACryptoServiceProviderクラスはRSAを、ECDsaCngクラスはECDSAを使用し

    デジタル署名を作成、検証する
  • WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示する

    WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示するWebRequestクラスとWebResponseクラスを使って、指定されたURL(URI)のデータを取得する方法を紹介します。 「ファイルをダウンロードし保存する」や「ファイルをダウンロードし表示する」で紹介しているWebClientクラスも内部ではWebRequest、WebResponseクラスを使用しています。よって、WebClientクラスだけではできないようなことも、ここで紹介している方法ならできるかもしれません。 早速ですが、具体例を示します。次の例では、「http://www.microsoft.com」からデータをダウンロードして、HTMLソースを表示しています。 'HttpWebRequestを作成 Dim webreq As System.Net.HttpWebRequest =

    WebRequest、WebResponseクラスを使ってファイルをダウンロードし表示する
  • BOM無しUTF-8でテキストファイルに書き込む

    BOM無しのUTF-8でテキストファイルに書き込むStreamWriterクラスやXmlWriterクラスなどを使ってテキストファイルを作成する時、エンコーディングに「System.Text.Encoding.UTF8」を指定すると、BOM(byte order mark、バイトオーダーマーク、バイト順マーク)が付いたUTF-8のテキストファイルが作成されます。ここではBOMが付かないUTF-8UTF-8N)のテキストファイルを作成する方法を紹介します。 なおBOMというのは、ファイルの先頭に付く数バイトのデータのことで、UTF-8の場合は、「0xEF 0xBB 0xBF」というデータです。詳しくは、Wikipediaの「UTF-8」や「バイトオーダーマーク」等をご覧ください。 もしテキストファイルを作成する方法が分からないという場合は、まず「文字コードを指定してテキストファイルに書き込

    BOM無しUTF-8でテキストファイルに書き込む
  • http://dobon.net/vb/melma/dotnet74.txt

    rekramkoob
    rekramkoob 2015/05/08
    “doc.Load(strm)”
  • .NET Tips - POSTでデータを送信する (DOBON.NET)

    POSTでデータを送信するここではHTTPサーバーにPOST要求を送信し、返される結果を受信する方法を幾つか紹介します。データの送信方法として、ここでは"application/x-www-form-urlencoded"と"multipart/form-data"による方法を紹介します。 なおここで紹介しているコードでは、HttpUtility.UrlEncodeメソッドを使っていますので、System.Web.dllを参照に加える必要があります。(サーバー側が、クライアントが送信するデータのURLエンコードを必要としていないのであれば、このメソッドを使う必要はありません。) "application/x-www-form-urlencoded"でデータを送信する通常(特に文字列だけを送信する場合)は、"application/x-www-form-urlencoded"でデータを送信す

    .NET Tips - POSTでデータを送信する (DOBON.NET)
  • UACが有効の時、必要な処理だけ管理者に昇格させて実行する

    UACが有効の時、必要な処理だけ管理者に昇格させて実行する「UACが有効の時、アプリケーションを管理者に昇格させて起動する」ではアプリケーション起動時に管理者に昇格させる方法を紹介しました。ここでは、必要な処理を行なうときだけ昇格させる方法を紹介します。 「ユーザー アカウント制御 (UAC: User Account Control) - Windows 7 対応アプリケーションの互換性」によるとその方法は2つあり、「ShellExecute() もしくは ShellExecuteEx() を使用して、親プログラムから起動する」方法と、「COM オブジェクトとして分離する」方法です。ここでは簡単な前者の方法のみを紹介します。後者の方法は、「this.Pose() as Expert」などを参考にしてください。 昇格が必要な処理だけを別プロセスで起動するメインのプログラム(親プログラム)で

    UACが有効の時、必要な処理だけ管理者に昇格させて実行する
  • 認証が必要なページをダウンロードする: .NET Tips: C#, VB.NET, Visual Studio

    認証が必要なページをダウンロードするここでは、認証が必要なHTTPページ(ユーザー名とパスワードが必要なページ)をHttpWebRequestクラスを使ってダウンロードする方法を紹介します。 HttpWebRequest.Credentialsプロパティ + NetworkCredentialを使用するそのためには、HttpWebRequest.Credentialsプロパティを使用します。Credentialsプロパティには、NetworkCredentialまたはCredentialCacheオブジェクトを指定できます(CredentialCacheの場合も、ユーザーやパスワードの情報はNetworkCredentialで指定します)。MSDNによると、NetworkCredentialクラスは、基認証(Basic)、ダイジェスト認証(Digest)、NTLM認証、Kerberos

    認証が必要なページをダウンロードする: .NET Tips: C#, VB.NET, Visual Studio
  • プロセスを強制的に終了する

    プロセスを強制的に終了するここでは、指定したプロセスを終了させる方法を紹介します。 なおここで紹介している方法はProcessクラスを使用しているため、まず終了させたいプロセスを表すProcessオブジェクトを取得する必要があります。これは、自分で作成したProcessであれば簡単ですが、そうでなければ結構大変です。目的のProcessオブジェクトを取得する方法については、以下のような記事を参考にしてください。 実行されているすべてのプロセスを取得する指定した名前のすべてのプロセスを取得するウィンドウのタイトルからプロセスを探す実行ファイル名からプロセスを探すProcess.Killメソッドを使用する強制的にプロセスを終了するには、ProcessクラスのKillメソッドを使います。このメソッドはローカルコンピュータで実行されているプロセスにだけ使用でき、リモートコンピュータ上で実行中のプロ

    プロセスを強制的に終了する
  • 外部アプリケーションを起動する、ファイルを関連付けられたソフトで開く

    外部アプリケーションを起動する、ファイルを関連付けられたソフトで開くここでは、外部アプリケーションを実行ファイルを指定して起動する方法について説明します。また、ファイルを関連付けられたアプリケーションで開く方法についても説明します。 Process.Startメソッドを使用して、外部アプリケーションを起動させる外部アプリケーションを起動させるには、ProcessクラスのStartメソッドを使用します。使い方はとても簡単で、起動したいアプリケーションの実行ファイルのパスを指定してProcess.Startメソッドを呼び出すだけです。 下の例では、メモ帳を起動しています。

    外部アプリケーションを起動する、ファイルを関連付けられたソフトで開く
  • #ziplib(SharpZipLib)を使ってZIP圧縮、展開(解凍)、リスト表示などを行う

    #ziplib(SharpZipLib)を使ってZIP圧縮、展開(解凍)、リスト表示などを行うここでは、ZIP書庫を扱うことができるフリーのライブラリである#ziplib(SharpZipLib)を使う方法を紹介します。この記事を書いている時点での最新版のバージョンは0.85.5です。 なお、.NET FrameworkでZIP書庫を扱う方法は、これ以外にも、以下の記事で説明しているような方法もあります。 ZipFile、ZipArchiveクラスを使用して、ZIP圧縮、展開(解凍)、リスト表示などを行うJ#のライブラリを使ってZIP圧縮、展開(解凍)、リスト表示を行う遅延バインディングによりアンマネージDLL関数を呼び出すDotNetZip(Ionic Zip Library)を使ってZIP書庫を作成する - DoboWiki 補足:#ziplibのライセンスは、基的にはGNU Gen

    #ziplib(SharpZipLib)を使ってZIP圧縮、展開(解凍)、リスト表示などを行う
  • C#でMid、Left、Right関数の代わりになるものは?

    C#でMid、Left、Right関数の代わりになるものは?VBでは、Mid、Left、Right関数を使用して文字列の一部を取得することができます。これらの関数と同じことをC#で行うには、String.Substringメソッドを使います。 Mid関数とSubstringメソッドはほぼ同じです。しかし、取得する文字列の開始位置の指定方法が、Mid関数では1文字目が 1 となるのに対して、Substringメソッドでは 0 となるため、SubstringではMidよりも1つ小さい開始位置を指定しなければなりません。 また、Mid関数では文字列がNothingであったり、開始位置を文字列の長さよりも大きくした場合に、空の文字列が返されますが、Substringメソッドでは例外ArgumentOutOfRangeExceptionが発生します。さらに、Mid関数は取得しようとしている文字列の長

    C#でMid、Left、Right関数の代わりになるものは?
  • 文字列を置換する

    文字列を置換するここでは、文字列内の指定した文字列を別の文字列に置換する方法(例えば、「昨日は雨でした。」の「雨」を「晴れ」に置換して、「昨日は晴れでした。」という文字列を作成する方法)を幾つか紹介します。 String.Replaceメソッド最も一般的な方法は、String.Replaceメソッドを使う方法です。String.Replaceメソッドは、1番目のパラメータに検索する文字列を、2番目のパラメータに置換後の文字列を指定します。するとこのメソッドは、置換された文字列を返します。 見つかった文字列はすべて置換されます。はじめに見つかった文字列だけを置換するといったことはできません。 文字列を検索する方法は、序数による検索のみです。よって、全く同じ文字列しか検索できません。大文字小文字を区別しない検索や、カルチャに依存した検索はできません。 String.Replaceメソッドは置換

    文字列を置換する
  • イベントログにエントリを書き込む

    イベントログにエントリを書き込むここでは、Windowsのイベントログにエントリを書き込む方法を紹介します。 なおWindows Vista以降でUACが有効になっている時は、管理者に昇格しないと失敗するかもしれません。この対処法については、「Vista以降でUACが有効だとファイルの作成等に失敗する問題の対処法」をご覧ください。 アプリケーションログに書き込む簡単な方法アプリケーションログにエントリを書き込むには、EventLogクラスの静的なWriteEntryメソッドを使用するのが簡単です。このとき、指定したソースが存在していない場合は、EventLog.CreateEventSourceメソッドで作成しておきます。 注意:CreateEventSourceメソッドで新しく作成するソースの名前は、すでに存在しているソース名やログ名と異なっている必要があります。 'ソース Dim so

    イベントログにエントリを書き込む
  • あるフォルダ以下にあるファイルをすべて取得する: .NET Tips: C#, VB.NET

    あるフォルダ以下にあるファイルをすべて取得する.NET Framework 2.0以降で、Directory.GetFilesメソッドのみを使う指定したフォルダ以下のすべてのファイルのパスを取得するには、Directory.GetFilesメソッド(System.IO名前空間)を使用します。GetFilesメソッドは3番目のパラメータを省略(あるいは、SearchOption.TopDirectoryOnlyを指定)すると、指定したフォルダにあるファイルしか取得せず、サブフォルダにあるファイルは取得しません。サブフォルダのファイルも含め、すべてのファイルを取得するには、3番目のパラメータにSearchOption.AllDirectoriesを指定します。 以下の例では、フォルダ"C:\test"以下にあるファイルのパスをすべて取得し、リストボックス(ListBox1)に表示しています。

    あるフォルダ以下にあるファイルをすべて取得する: .NET Tips: C#, VB.NET
  • 日時(DateTimeオブジェクト)を文字列に変換する

    Dim dt As DateTime = New DateTime(2002, 5, 12, 20, 30, 15, 123) Console.WriteLine("ToString :{0}", dt.ToString()) '2002/05/12 20:30:15 Console.WriteLine("ToShortDateString :{0}", dt.ToShortDateString()) '2002/05/12 Console.WriteLine("ToLongDateString :{0}", dt.ToLongDateString()) '2002年5月12日 Console.WriteLine("ToShortTimeString :{0}", dt.ToShortTimeString()) '20:30 Console.WriteLine("ToLongTimeStr

    日時(DateTimeオブジェクト)を文字列に変換する
  • DataGridViewで選択されている列、行、セルを取得する、または列、行、セルを選択する

    注意:DataGridViewコントロールは、.NET Framework 2.0で新しく追加されました。 選択されている列、行、セルを取得するDataGridViewで選択されている列、行、セルを取得するには、DataGridViewオブジェクトのSelectedColumns、SelectedRows、SelectedCellsプロパティを使用します。 なお、SelectionModeプロパティにより、行や列が選択できるか否かを指定できます。SelectionModeプロパティについて詳しくは、こちらで説明しています。 '選択されているセルを表示 Console.WriteLine("選択されているセル") For Each c As DataGridViewCell In DataGridView1.SelectedCells Console.WriteLine("{0}, {1}"

    DataGridViewで選択されている列、行、セルを取得する、または列、行、セルを選択する