Msxml2.ServerXMLHTTP は、通常 VBScript で利用されるサーバー用のクラスで、CreateObject でインスタンスを作成します。Framework には同様のクラスが存在しますが、経験からするとこちらのほうが簡単で信頼性が高いです。 VB.net で COM を使用する場合は以下のように「参照」を設定する必要があります html 等の http ヘッダを送れないファイルについては、urf-8 扱いになります(つまりutf-8以外のキャラクタセットで書かれていると日本語を正しく扱えません)。サーバー側で対応したい場合は、.htaccess で指定する事によって、キャラクタセットの設定を http ヘッダに追加できます。php 等のアプリケーションでは、http ヘッダに直接出力します ※ http ヘッダにキャラクタセットの情報があれば、自動的に日本語は処理されます
Public Class Form1 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim ServerXML As New MSXML2.ServerXMLHTTP60() Dim URL As String = Me.TextBox1.Text ServerXML.open("GET", URL, False) Dim lResolve As Integer = 60 * 1000 Dim lConnect As Integer = 60 * 1000 Dim lSend As Integer = 60 * 1000 Dim lReceive As Integer = 60 * 1000 ServerXML.setTimeouts(lResolve, lConnect, lSend, lReceive) ServerXML.send() Me.TextBox2.Text = ServerXML.responseText End Sub End Class
「参照」する正確な名前の確認は、以下の手順で行えます。 1) HKEY_CLASSES_ROOT から Msxml2.XMLHTTP の最新バージョンのエントリを探す 2) サブキーの CLSID から ID を取得 この場合は Msxml2.XMLHTTP.6.0 で {88d96a0a-f192-11d4-a65f-0040963251e5} 3) HKEY_CLASSES_ROOT\CLSID のツリー内より該当するエントリを探す 4) そのエントリのサブキーの TypeLib より値を取得 ※ この場合は {F5078F18-C551-11D3-89B9-0000F81FE221} 5) HKEY_CLASSES_ROOT\TypeLib のツリー内より該当するエントリを探す 6) 最新バージョンのサブキーより、名前を取得する ※ この場合は Microsoft XML, v6.0 以下は、Visual Studio を使用しないでビルドする為のパッケージです。 その場合は、COM をインポートするライブラリを手動で作成する必要があります。 関連する記事(ライブラリ作成) .NET から COM を使う Microsoft のドキュメント IServerXMLHTTPRequest/ServerXMLHTTP Members( 英文 ) ※ イベントはありません。メソッドとプロパティのみです ※ クッキーは自動的にやりとりされます System.Net 名前空間
|
【VB.NET : 通信の最新記事】
- VB.net(2010) : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにバイナリデータを POST する
- VB.net : TKFP.DLL 1.4.3 を使って FTPS でファイル(フォルダ)の一覧を取得する
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して Google のURL短縮サービスを使用する( JSON )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[bit.ly] を使用する( XML と TEXT )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して URL短縮サービス[p.tl] を使用する( JSON )
- VB.net : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにデータを POST する
- VB.net : IPアドレスを IPv4 と IPv6 に区別して取得する
- Json.NET を使用して JSON 文字列を VB.net で使用する( 逆シリアライズ )
- VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバーU
- VB.net : クライアントが送ったヘッダを表示するだけの HTTPサーバー( TcpListener )
- VB.NET : TKMP.DLL でメール送信