<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-713643341058868604</id><updated>2012-02-16T17:17:42.074+09:00</updated><title type='text'>NSJ's Knowledge Base</title><subtitle type='html'>このブログには、&lt;a href="http://www.nsoftware.com/"&gt;弊社&lt;/a&gt;で提供するナレッジベースを個人的に日本語化したものを随時掲載していきます。

また、ここに投稿される日本語訳はあくまでも私が個人的に訳したものであり、&lt;a href="http://www.nsoftware.com/"&gt;/n software inc.&lt;/a&gt; により公式に認定されたものではなく内容の正確性や正当性を保証するものではありません。

内容は随時チェックしているつもりですが、日本語訳掲載後にオリジナルのデータベースが更新されることもあります。内容に違いがある場合はオリジナルの英語版が優先されます。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>58</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-964866845228343181</id><published>2008-04-23T15:08:00.003+09:00</published><updated>2008-04-23T15:23:20.125+09:00</updated><title type='text'>.NET ウェブサービスが SOAP リクエスト パラメータを受理しない</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=04300305"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=04300305&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;VS.NET でウェブサービスを書いているのですが、SOAP コンポーネントを使ってこのサービスをアクセスした場合、SOAP リクエストに付与したパラメータをウェブサービス側で受け取れません。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;あなたが呼び出そうとしているウェブサービスは RPC スタイルですか？それとも Document スタイルですか？&lt;br /&gt;&lt;br /&gt;もし不明の場合は、当該サービスの文書をチェックしてください。あるいはもしそのサービスが .NET サービスでありそのソースコードにアクセスできるのであれば、当該サービスおよび webmethod の SoapRPCService　属性および SoapRPCMethod 属性をチェックするか、あるいは同じく当該サービスおよび webmethod の SoapDocumentService 属性および SoapDocumentMethod 属性をチェックします。&lt;br /&gt;&lt;br /&gt;当該サービスが Document スタイルの場合、メソッド名のプレフィックスが存在しないことを確認します。(既定値では "m" がメソッド名前空間プレフィックスとして使用されます。) これを行うには、MethodNamespacePrefix 構成設定パラメータをコード内で設定します。例:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;SOAP1.Method = "MyTest"&lt;br /&gt;SOAP1.MethodURI = "http://localhost/webservice/"&lt;br /&gt;SOAP1.ActionURI = "http://localhost/webservice/MyTest"&lt;br /&gt;SOAP1.URL = "http://localhost/WebService/test.asmx"&lt;br /&gt;SOAP1.AddParam "x", "something"&lt;br /&gt;SOAP1.Config "MethodNameSpaceprefix="&lt;br /&gt;SOAP1.SendRequest&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-964866845228343181?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/964866845228343181/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=964866845228343181' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/964866845228343181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/964866845228343181'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/net-soap.html' title='.NET ウェブサービスが SOAP リクエスト パラメータを受理しない'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-695334575622632227</id><published>2008-04-23T14:55:00.003+09:00</published><updated>2008-04-23T15:01:57.943+09:00</updated><title type='text'>SOAP MethodURI およびその他のプロパティ</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06050217"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06050217&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;SOAP コンポーネントを使ってアクセスしたい SOAP サービスの MethodURI やその他の必要事項を知るにはどうすれば良いですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;MethodURI、Method、ActionURI およびその他の必要事項は全てアクセスしたいいサービスの WSDL ファイルを調べることで判明します。それぞれの SOAP サービスには1つずつ WSDL ファイルが存在しており、通常は http://サービスURL?WSDL でアクセスできます。&lt;br /&gt;&lt;br /&gt;弊社サイト http://nsoftware.com/kb/ には "Web Service Proxy Generator" が用意されており、これをご利用いただくことで自動的に WSDL ファイルを調査し、そのサービスを利用するためにどのように弊社の SOAP コンポーネントを使用するかが示されます。&lt;br /&gt;&lt;br /&gt;【訳注】直接のリンクは &lt;a href="http://www.nsoftware.com/kb/apps/wspg/"&gt;http://www.nsoftware.com/kb/apps/wspg/&lt;/a&gt;。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-695334575622632227?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/695334575622632227/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=695334575622632227' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/695334575622632227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/695334575622632227'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/soap-methoduri.html' title='SOAP MethodURI およびその他のプロパティ'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-444521892467049585</id><published>2008-04-23T14:24:00.002+09:00</published><updated>2008-04-23T14:44:51.757+09:00</updated><title type='text'>HTTP 経由でのプロクシサーバ認証</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=12119701"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=12119701&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;プロクシサーバを使うように変更したのですが、そのサーバはプロクシ認証を必要とします。"USER" プロパティと "PASSWORD" プロパティを使おうとしているのですが、"407 proxy authenticate required" で失敗するようになってしまいました。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;.User プロパティおよび .Password プロパティは認証文字列を計算しウェブサイトに送信します。一方プロクシ認証では、ProxyUser プロパティおよび ProxyPassword プロパティを使用することになります。&lt;br /&gt;&lt;br /&gt;旧バージョンの IP*Works! では、Proxy-Authorization ヘッダをあなた自身が手で設定する必要があります。&lt;br /&gt;&lt;br /&gt;この場合、認証文字列の計算は以下の例のように、まず .User プロパティおよび .Password プロパティに値を設定し、.Authorization プロパティを読み取ります。(この手順は基本認証を使って認証文字列を計算するために、1度だけ行う必要があります。)&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code&gt;     '認証文字列の計算&lt;br /&gt;     HTTP1.User = "myname" 'put your proxy login name here&lt;br /&gt;     HTTP1.Password = "mypassword" 'put your proxy password here&lt;br /&gt;     HTTP1.OtherHeaders = "Proxy-Authorization: " + _&lt;br /&gt;          HTTP1.Authorization + chr(13) + chr(10)&lt;br /&gt;&lt;br /&gt;     '認証はプロキシに対してのみなので空文字列を設定しておく&lt;br /&gt;     HTTP1.User = "" &lt;br /&gt;     HTTP1.Password = ""&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;プロキシサーバを通過する全てのリクエストはこの "Proxy-Authorization: ..." ヘッダを .OtherHeaders プロパティ内に保持しているべきです。&lt;br /&gt;&lt;br /&gt;個々のプロパティについてはヘルプファイルを参照して下さい。&lt;br /&gt;&lt;br /&gt;なお、.URL プロパティに値を設定する時にサーバ値を変更すると、User プロパティおよび Password プロパティの値はクリアされる点に注意してください。これはセキュリティ上の理由によります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-444521892467049585?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/444521892467049585/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=444521892467049585' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/444521892467049585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/444521892467049585'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http_1358.html' title='HTTP 経由でのプロクシサーバ認証'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-1079714853980336369</id><published>2008-04-23T08:55:00.002+09:00</published><updated>2008-04-23T10:05:22.868+09:00</updated><title type='text'>HTTP におけるリダイレクトの取り扱い方</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=07190014"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=07190014&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;HTTP でリダイレクトを扱うには、どのようにすれば良いですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;IP*Works! Version 5 は【訳注: V6, V8 も】FollowRedirects プロパティをサポートしており、リダイレクトを自動的に処理させることが可能です。実例:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;HTTP1.FollowRedirects = frAlways&lt;br /&gt;HTTP1.Get "http://www.nsoftware.com"&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;IP*Works! の過去のバージョン: サーバは Location ヘッダに新しい URL を設定した上でエラーコード 301 または 302 を返します。HTTP コントロールは "Redirected" という説明文と共にエラーまたは例外を発生させますので、Header イベント内で Location ヘッダを保存した上でコントロールが生成するエラーイベントあるいは例外を処理し、この新しい場所へリクエストを送信します。&lt;br /&gt;&lt;br /&gt;VB による実例を以下に示します。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;     Dim gNewURL as String&lt;br /&gt;&lt;br /&gt;     Private Sub HTTP1_Header(Field As String, Value As String)&lt;br /&gt;        If LCase(Field) = "location" Then gNewURL = Value&lt;br /&gt;     End Sub&lt;br /&gt;&lt;br /&gt;     Private Sub Command1_Click()&lt;br /&gt;     On Error GoTo errhandler&lt;br /&gt;        HTTP1.WinsockLoaded = True&lt;br /&gt;        HTTP1.URL = "http://www.microsoft.com/support"&lt;br /&gt;        HTTP1.Action = a_GetDocument&lt;br /&gt;        Exit Sub&lt;br /&gt;     errhandler:&lt;br /&gt;           If Err.Number = 20152 And (Left(Error, 4) = "303 " Or _&lt;br /&gt;                    Left(Error, 4) = "302 ") Then&lt;br /&gt;              HTTP1.URL = gNewURL 'assign new URL&lt;br /&gt;              Resume   'repeat action&lt;br /&gt;           End If&lt;br /&gt;     End Sub&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-1079714853980336369?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/1079714853980336369/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=1079714853980336369' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1079714853980336369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1079714853980336369'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http_7373.html' title='HTTP におけるリダイレクトの取り扱い方'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-4646026736011538695</id><published>2008-04-23T07:34:00.003+09:00</published><updated>2008-04-23T07:40:09.549+09:00</updated><title type='text'>HTTP コントロールでバイナリファイルを受信する方法</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09039731"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09039731&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;非テキストデータ (gif、jpg 等) の取得に HTTP コンポーネントを使用したいと思います。HTTP でこれは可能でしょうか？それとも何か他のもの (例えば IPPORT) を使わなければならないでしょうか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;可能です。まず最初に URL プロパティと (オプションで) LocalFile プロパティを割り当てます。次に Get メソッドを呼び出します。データは LocalFile プロパティに指定されたファイル内に格納されるか、あるいは Transfer イベントの引数に付与されます。実例については httpget デモをご覧下さい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-4646026736011538695?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/4646026736011538695/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=4646026736011538695' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4646026736011538695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4646026736011538695'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http_23.html' title='HTTP コントロールでバイナリファイルを受信する方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-1743283781508357527</id><published>2008-04-22T23:50:00.003+09:00</published><updated>2008-04-23T00:04:13.098+09:00</updated><title type='text'>HTTP で部分ダウンロードをする方法</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=07180010"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=07180010&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;HTTP で部分ダウンロード (partial download) を行うにはどうすれば良いですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;HTTP/1.1 では部分ダウンロードをサポートしています。(RFC2068 の第14.36節) あるファイルを部分ダウンロードするには、Range プロパティにバイト範囲を指定します。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;     'the actual byte range&lt;br /&gt;     HTTP1.Range = "0-499" 'get only the first 500 bytes&lt;br /&gt;     HTTP1.Get URL&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Range プロパティの書式は '-' で区切られた2つの数字により指定されるバイト範囲 (例えば '0-499') から成ります。例: 最初の500バイト: 0-499 次の500バイト: 500-999 最後の500バイト: -500&lt;br /&gt;&lt;br /&gt;IP*Works! の旧バージョンには Range プロパティは含まれておらず、HTTPVersion プロパティに　HTTP/1.1 プロトコルを設定すると共に OtherHeader プロパティを用いて Range ヘッダを設定する必要があります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-1743283781508357527?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/1743283781508357527/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=1743283781508357527' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1743283781508357527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1743283781508357527'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http_2206.html' title='HTTP で部分ダウンロードをする方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-8475595095262010954</id><published>2008-04-22T23:32:00.004+09:00</published><updated>2008-04-22T23:43:57.110+09:00</updated><title type='text'>サーバ名を HTTP ヘッダ内に指定する方法</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09039737"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09039737&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;HTTP リクエストヘッダにサーバ名称を含めて送信する必要があります。今日の幾つかのウェブサーバ単一の IP に対してマルチホームを許容しています。サーバが違いを認識する際には HTTP リクエストヘッダ内からサーバ名称を探し出します。IP*Works! コントロールはこれらを扱うことができますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;はい、扱うことができます。既定値では HTTP コントロールは自動的に Host ヘッダを送信します。&lt;br /&gt;&lt;br /&gt;旧バージョンの IP*Works! はこれを既定値では行いませんでした。特別なヘッダを追加する場合は以下のようにします:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;     HTTP1.URL = ...&lt;br /&gt;     HTTP1.OtherHeaders = "Host: " + HTTP1.URLServer + chr$(13)+chr$(10)&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-8475595095262010954?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/8475595095262010954/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=8475595095262010954' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8475595095262010954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8475595095262010954'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http_3752.html' title='サーバ名を HTTP ヘッダ内に指定する方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-2518192746076937750</id><published>2008-04-22T23:09:00.002+09:00</published><updated>2008-04-22T23:26:40.019+09:00</updated><title type='text'>HTTP リクエストが IE の送出するものと異なっている</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=07210402"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=07210402&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;HTTP リクエストを送信しようとしているのですが、失敗してしまいます。しかし、同じリクエストが IE ではうまく動作します。何が悪いかを知り、対応するにはどうすれば良いですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;あなたが HTTP コンポーネントで送出しているデータと、IE で送出しているデータを比較してみましょう。これを行うには、弊社製品に同梱されている "tcpecho" サーバデモを実行し、リスン状態にします。次にあなたの HTTP コンポーネントコードを変更し、http://localhost:777/ に POST します。次に IE で http://localhost:777/ にリクエストを送信し、両者の結果を比較します。&lt;br /&gt;&lt;br /&gt;また、ウェブフォームに対する POST を模倣したいのであれば、まず IE でそのフォームを表示し、ウェブページをディスクに保存します。次にそのウェブページを編集し、当該フォームのアクション URL を http://localhost:777/ になるようにします。&lt;br /&gt;&lt;br /&gt;そして、コントロールのプロパティ (例えば UserAgent 等) を使用して、それらが IE のヘッダに一致するようにすることができます。さらに、コントロールが提供しないプロパティ (例えば Accept 等) に関しては、そのようなヘッダを追加するために OtherHeaders プロパティをご利用いただけます。(追加される各ヘッダは CRLF で区切ります。) 例:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;Http1.Otherheaders = "headerfield1: headervalue1" + crlf + "headerfield2: headervalue2"&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-2518192746076937750?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/2518192746076937750/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=2518192746076937750' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2518192746076937750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2518192746076937750'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http-ie.html' title='HTTP リクエストが IE の送出するものと異なっている'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-6507571647416534067</id><published>2008-04-22T22:05:00.000+09:00</published><updated>2008-04-22T22:07:43.616+09:00</updated><title type='text'>HTTP Post がエラー "303 See Other" を返す</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=01260502"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=01260502&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;HTTP (あるいは WebForm、WebUpload 等) で POST 処理をすると、HTTP プロトコルエラー "303 See Other" になります。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;これはサーバから返されるコード (トラップするには標準的なエラーハンドリングを使用すべきもの) であり、あなたの行った POST に対するサーバの応答は、別の URL に対する GET を使用して取得すべきものであることを通知しています。使用すべき URL は Location ヘッダ内に格納されており、これはコンポーネントの Header イベントを使用して取得します。例:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;Private Sub HTTP_Header(...)&lt;br /&gt; If (e.Field.ToUpper() = "LOCATION") Then&lt;br /&gt;  newurl = e.Value&lt;br /&gt; End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Try&lt;br /&gt; HTTP.Post("http://server/script.aspx")&lt;br /&gt;Catch ex1 as nsoftware.IPWorks.IPWorksException&lt;br /&gt; If (ex1.Code = 303) Then&lt;br /&gt;  HTTP.Get(newurl)&lt;br /&gt;  string postresponse = HTTP.TransferredData&lt;br /&gt; End If&lt;br /&gt;End Try&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-6507571647416534067?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/6507571647416534067/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=6507571647416534067' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6507571647416534067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6507571647416534067'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http-post-303-see-other.html' title='HTTP Post がエラー &quot;303 See Other&quot; を返す'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-5742411702763165406</id><published>2008-04-22T11:48:00.004+09:00</published><updated>2008-04-22T11:59:48.404+09:00</updated><title type='text'>HTTP コントロールでのクッキーへのアクセスおよび設定</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=11119701"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=11119701&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;私が試用しなければならないウェブサーバはクッキーを必要としています。どうやればクッキーを受理したり設定したりできるのでしょうか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;サーバから送られてくるクッキーは SetCookie イベントで受け取ります。このイベント内で後ほど使用できるようにクッキーを保存することができます。HTTP リクエストでサーバにクッキーを送信する必要がある場合は、AddCookie メソッドにクッキー名称と送信したい値を引数として与えて呼び出すだけです。&lt;br /&gt;&lt;br /&gt;クッキーに関する詳細は Netscape の定義も参照して下さい: &lt;a href="http://home.netscape.com/newsref/std/cookie_spec.html"&gt;http://home.netscape.com/newsref/std/cookie_spec.html&lt;/a&gt;&lt;br /&gt;【訳注】この URL はもはや存在していません。下記をご利用ください。&lt;br /&gt;&lt;a href="http://wp.netscape.com/newsref/std/cookie_spec.html"&gt;http://wp.netscape.com/newsref/std/cookie_spec.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-5742411702763165406?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/5742411702763165406/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=5742411702763165406' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5742411702763165406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5742411702763165406'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http_1467.html' title='HTTP コントロールでのクッキーへのアクセスおよび設定'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-6902249009954302037</id><published>2008-04-22T11:01:00.003+09:00</published><updated>2008-04-22T11:37:26.505+09:00</updated><title type='text'>HTTP プロトコルでのエラーの取り扱い方</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=12049701"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=12049701&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;HTTP コントロールを使用して VB アプリケーションを開発しています。大抵の場合このアプリケーションはうまく動作するのですが、たまにタイムアウトとかエラーコード 404 などプロトコル関連のエラーが発生します。そこで私はエラー条件を取り扱うコードを書き始めなくてはなりません。&lt;br /&gt;&lt;br /&gt;良くあるエラーを取り扱うのに必要な手段や情報、あるいはやらなければならない事ややってはならない事&lt;br /&gt;などの情報はありますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;まず、StatusLine プロパティをチェックすることでサーバ応答の最初の行をチェックできます。サーバが 3xx (リダイレクション)や 4xx(クライアントエラー) あるいは 5xx (サーバエラー) といったエラーコードを返す場合、HTTP コントロールはこのエラーをユーザに対し提示します。&lt;br /&gt;&lt;br /&gt;またコントロールは エラー 20152 (Visual Basic/ActiveX Edition) または 151 (その他のエディション) をテキスト 'xxx Error Description' (ここで 'xxx' は3桁の HTTP エラーコード) を返すことがあります。&lt;br /&gt;&lt;br /&gt;サーバから返される最も重要なエラーコードを以下に示しておきます。HTTP プロトコルの詳細については コントロールのプロパティのヘルプファイルの他、RFC 文書を参照して下さい。&lt;br /&gt;&lt;pre&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;301 Moved Permanently&lt;br /&gt;302 Moved Temporarily&lt;br /&gt;303 See Other&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;上記3つは全て、Header イベント内の Field パラメータ 'Location' の値の URL へとリダイレクトします。(フィールドは大文字小文字を区別しませんが、その場所 (location) は大文字小文字を区別します。) FollowRedirects プロパティを設定することで、これらのリダイレクト指定を自動的に実行させることができます。&lt;br /&gt;&lt;pre&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;304 Not changed&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Get アクション内で NotModifiedSince プロパティが使用された場合にのみ送られてきます。&lt;br /&gt;&lt;pre&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;400 Bad Request&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;リクエストに誤りがあります。リクエストを修正してください。&lt;br /&gt;&lt;pre&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;401 Unauthorized&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;当該リクエストにはユーザ認証が必要です。User プロパティおよび Password プロパティを使用してください。&lt;br /&gt;&lt;pre&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;403 Forbidden&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;サーバはリクエストを解釈しましたが、応答を拒否しています。サーバから詳細情報がないかメッセージをチェックしてください。&lt;br /&gt;&lt;pre&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;404 Not Found&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Request-URL に一致するものがサーバ側に見つかりませんでした。&lt;br /&gt;&lt;pre&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;500 Internal Server Error&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;サーバがリクエストの処理中に、それを妨げる予期せぬ状況に遭遇しました。&lt;br /&gt;&lt;pre&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;501 Not Implemented&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;サーバは当該リクエストを処理する機能をサポートしていません。&lt;br /&gt;&lt;pre&gt;&lt;code style="color:black"&gt;&lt;blockquote&gt;503 Service Unavailable&lt;/blockquote&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;過負荷あるいはサーバメンテナンスのため、サーバは現在当該リクエストを処理することができません。&lt;br /&gt;&lt;br /&gt;コントロールのプロパティについてはヘルプファイルを、また HTTP プロトコルについては RFC を参照して下さい。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-6902249009954302037?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/6902249009954302037/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=6902249009954302037' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6902249009954302037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6902249009954302037'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http_22.html' title='HTTP プロトコルでのエラーの取り扱い方'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-6112179435573442368</id><published>2008-04-22T10:37:00.002+09:00</published><updated>2008-04-22T10:41:32.094+09:00</updated><title type='text'>HTTP 圧縮機能のサポート</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09260710"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09260710&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;貴社コンポーネントは HTTP 圧縮機能をサポートしていますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;はい、HTTP 圧縮機能は AllowHTTPCompression プロパティを設定することでご利用頂けます。このプロパティが true に設定されると、コンポーネントは自分が deflate および gzip アルゴリズムをサポートする旨をサーバに対し通知します。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    http.AllowHTTPCompression = true;&lt;br /&gt;    http.Get("http://myserver/document.zip");&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-6112179435573442368?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/6112179435573442368/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=6112179435573442368' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6112179435573442368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6112179435573442368'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/http.html' title='HTTP 圧縮機能のサポート'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-677091991686821935</id><published>2008-04-22T10:22:00.003+09:00</published><updated>2008-04-22T10:30:51.929+09:00</updated><title type='text'>XMPP コンポーネントがサポートする認証方式</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09270706"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09270706&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;XMPP コンポーネントがサポートする認証方式にはどんなものがありますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;XMPP (Jabber) コンポーネントは Google Talk で必要となる SASL PLAIN を含め何種類もの認証方式をサポートしています。サポートされている認証方式の一覧についてはヘルプ等の添付文書をご参照ください:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SASL/DIGEST-MD5&lt;/li&gt;&lt;li&gt;AuthIQ/Digest&lt;/li&gt;&lt;li&gt;SASL/PLAIN&lt;/li&gt;&lt;li&gt;AuthIQ/Plaintext&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;上記の認証方式のいずれかを使用する際には、添付文書に記載されている文字列を AuthMethods プロパティに設定するだけです。また AuthMethods への "*" の設定には、コンポーネントは利用可能な認証方式のうち最も強度の高いものを使用させるという特別な効果があります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-677091991686821935?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/677091991686821935/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=677091991686821935' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/677091991686821935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/677091991686821935'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/xmpp.html' title='XMPP コンポーネントがサポートする認証方式'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-4098682909590193098</id><published>2008-04-22T09:44:00.002+09:00</published><updated>2008-04-22T09:48:45.666+09:00</updated><title type='text'>IPInfo は MX レコードを扱えますか？</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09039724"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09039724&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;IPInfo は MX レコードを扱えますか？私の email アドレスは myname@domain.com で、mail.domain.com が管轄しています。ここで 'domain.com' は私のウェブサーバのアドレスを持っています。どうすればその情報を自動的に得られますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;現時点では MX レコードは IPInfo では解決できません。&lt;br /&gt;&lt;br /&gt;MX レコードを問い合わせるには、MX コントロールあるいは DNS コントロールを使う必要があります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-4098682909590193098?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/4098682909590193098/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=4098682909590193098' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4098682909590193098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4098682909590193098'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ipinfo-mx.html' title='IPInfo は MX レコードを扱えますか？'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-4953271879257524145</id><published>2008-04-22T09:36:00.002+09:00</published><updated>2008-04-22T09:37:35.691+09:00</updated><title type='text'>イベントから GUI をアクセスすると、.NET コンポーネントがハングする</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=12060401"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=12060401&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;非同期コンポーネントのイベント内から GUI をアクセスすると、コンポーネントがハングしてしまいます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;.NET では、GUI コンポーネントは GUI スレッドからアクセスされなければなりません。非同期コンポーネントのイベント内から GUI を更新しようとすると、アプリケーションはハングアップしてしまう可能性があります。&lt;br /&gt;&lt;br /&gt;IP*Works! コンポーネントはスレッド動作の観点からは2つのカテゴリーに分類できます。これは、効率や実装されるプロトコルの性格から決まります。Ipport、Udpport、Icmpport、Mcast、Xmpp、Telnet、Mx、Dns は非ブロックかつ非同期なコンポーネントであり、これ以外はブロックかつ同期的なコンポーネントです。&lt;br /&gt;&lt;br /&gt;ブロック/同期コンポーネントは、GUI アプリケーション内でさえそれらを動作させるための特別な手順を実装する必要が全く無いという意味では「プラグ＆プレイ」です。&lt;br /&gt;&lt;br /&gt;一方非ブロック/非同期コンポーネントは、GUI アプリケーション内で使用される場合には「GUI コンポーネントは GUI スレッドからのみアクセスされなければならない」という .NET の制限のため特別な手順を要します。&lt;br /&gt;&lt;br /&gt;非ブロック非同期なやり方で接続やデータ送信および切断を行うには、それぞれ Connect、Send および Disconnect を使用します。&lt;br /&gt;&lt;br /&gt;そしてそれらの操作結果を後ほど通知するイベント Connected、DataIn　および Disconnected がそれぞれ用意されています。各メソッドの呼び出しは、コンポーネントに処理を実行するよう「依頼」するだけであり制御は直ちに呼び出し側スレッドに戻されますが、それらに対応するイベントは当該コンポーネントの内部のワーカスレッドから生成され発生します。従って、このイベント内から GUI コンポーネントの更新を行おうとすると、アプリケーションは恐らくハングアップしてしまうことでしょう。&lt;br /&gt;&lt;br /&gt;.NET Edition の V6 (【訳注】V8 も) ではコンポーネントの InvokeThrough プロパティに当該フォームのインスタンスを設定することで、コンポーネントに対処し、メインスレッド上で自動的に実行するようになります。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    xmpp1.InvokeThrough = this;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;別の方法としては、InvokeThrough を既定値 (null) のままにしておき、イベントから GUI フォームをアクセスしないようにする、あるいはあなた自身が invoke 処理を記述すのいずれかを行うことも可能です。&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;&lt;br /&gt;Compact Framework 開発においては、事態は若干複雑です。.NET CF Edition には InvokeThrough プロパティが無いため、この問題はあなた自身が処理しなくてはなりません。(【訳注】初期の V8 には InvokeThrough は実装されていませんでしたが、&lt;a href="http://nsjnotes.blogspot.com/2008/01/controlinvoke-invokethrough.html"&gt;その後 V8 では .NET CF でも InvokeThrough をご利用頂けるようになっています&lt;/a&gt;。) 以下は IPPort コンポーネントを使って .NET CF でどのように invoke を扱うかを示す C# コードです:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    nsoftware.IPWorks.IpportConnectedEventArgs e; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    private void ipport1_OnConnected(object sender,nsoftware.IPWorks.IpportConnectedEventArgs e) &lt;br /&gt;    { &lt;br /&gt;        ipport1.DataToSend = "Thanks for connecting!"; &lt;br /&gt;        this.e = e; &lt;br /&gt;        this.Invoke(new EventHandler(MyClientConnected)); &lt;br /&gt;    } &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    void MyClientConnected(object sender, EventArgs e) &lt;br /&gt;    { &lt;br /&gt;        tbLog.Text = "Connected to remote host: " + this.e.Description; &lt;br /&gt;    } &lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;---&lt;br /&gt;VB.NET では、例として XMPP コンポーネントを使ってみましょう。&lt;br /&gt;&lt;ol&gt;&lt;li&gt;まずイベント引数を保持するオブジェクトを生成します。&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    Private e As nsoftware.IPWorks.XmppMessageInEventArgs&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;次にあなたの GUI コードを実行する delegate 関数を記述します。(ここでは MyXmppMessageIn と名前をつけましたが、好きな名前を使って構いません。)&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    Delegate Sub MyEventHandler(ByVal sender As Object, ByVal e As nsoftware.IPWorks.XmppMessageInEventArgs)&lt;br /&gt;    Private MyXmppMessageInD As MyEventHandler &lt;br /&gt;&lt;br /&gt;    ... &lt;br /&gt;    MyXmppMessageInD = New MyEventHandler(AddressOf MyXmppMessageIn) &lt;br /&gt;    ... &lt;br /&gt;&lt;br /&gt;    Sub MyXmppMessageIn(ByVal sender As Object, ByVal e As EventArgs) &lt;br /&gt;        'My gui code, use Me.e for event args &lt;br /&gt;    End Sub&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;そして IP*Works! のイベントそのものから MyXmppMessageIn を invoke します:&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    Private Sub xmpp1_OnMessageIn(ByVal sender As Object, ByVal e As nsoftware.IPWorks.XmppMessageInEventArgs) Handles Xmpp1.OnMessageIn &lt;br /&gt;        Invoke(MyXmppMessageInD)&lt;br /&gt;    End Sub&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-4953271879257524145?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/4953271879257524145/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=4953271879257524145' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4953271879257524145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4953271879257524145'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/gui-net.html' title='イベントから GUI をアクセスすると、.NET コンポーネントがハングする'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-2968822207888680623</id><published>2008-04-21T22:52:00.002+09:00</published><updated>2008-04-22T06:16:02.216+09:00</updated><title type='text'>ターミナル エミュレーション (VT100, VT220)</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=02140503"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=02140503&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;Telnet コンポーネントはターミナル エミュレーションをサポートしていますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;Telnet コンポーネントは Telnet プロトコルそのものを実装しているだけであり、ターミナル エミュレーション機能は実装していません。弊社では、Telnet コンポーネント上に VT100 をどのように実装するかを示す VB6 サンプルコードを保有しています。このコードに興味を持たれた肩は弊社サポートまでお問い合わせください。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-2968822207888680623?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/2968822207888680623/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=2968822207888680623' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2968822207888680623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2968822207888680623'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/vt100-vt220.html' title='ターミナル エミュレーション (VT100, VT220)'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-5182000718816860025</id><published>2008-04-21T22:31:00.003+09:00</published><updated>2008-04-21T22:38:06.725+09:00</updated><title type='text'>Telnet で 'login:' プロンプトが表示されない</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09039721"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09039721&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;Telnet コントロールを使用してサイトにアクセスした場合、サイトによっては "login:" プロンプトが表示されないのは何故ですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;まず最初に、各種オプションのネゴシエーションを実装しているかどうかを確認してください。サーバはオプションのネゴシエーションが完了するまで可読なテキスト (DataIn イベント) を送信しません。&lt;br /&gt;&lt;br /&gt;またサイトによっては、NULL (0 文字) を送信することがあります。テキストボックスは NULL 文字以降の文字は全て無視するため、DataIn イベントで受け取った Text は表示に先立ち不要な文字を除去 (trim) する必要があります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-5182000718816860025?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/5182000718816860025/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=5182000718816860025' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5182000718816860025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5182000718816860025'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/telnet-login.html' title='Telnet で &apos;login:&apos; プロンプトが表示されない'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-3348857401891633633</id><published>2008-04-21T16:56:00.004+09:00</published><updated>2008-04-22T06:16:25.979+09:00</updated><title type='text'>受取人のサーバに直接メールを送信する</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06050211"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06050211&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;私自身の SMTP サーバを介さず電子メールを送るにはどうすればよいですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;SMTP サーバを経由せずに電子メールを送信することはできません。ただし、あなた自身の SMTP サーバをバイパスし、メッセージの受取人に最適な SMTP サーバへ直接メールを送信することは可能です。これを行うには、MX コントロールを使用する必要があります。MX コントロールに受取人の電子メールアドレスを与えれば、その受取人にメールを送信するのに最適な SMTP サーバが返されます。&lt;br /&gt;例:&lt;br /&gt;&lt;pre code="SampleText"&gt;&lt;code style="color:black"&gt;    MX1.Resolve "tom@nsoftware.com"&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;処理結果は MX の Resolved イベントで得られます。このイベントで、当該電子メールアドレスにサービスを提供しているメールサーバの IP アドレスを知ることができます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-3348857401891633633?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/3348857401891633633/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=3348857401891633633' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3348857401891633633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3348857401891633633'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/blog-post_21.html' title='受取人のサーバに直接メールを送信する'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-4232313452539138844</id><published>2008-04-21T16:32:00.002+09:00</published><updated>2008-04-21T16:45:46.664+09:00</updated><title type='text'>SMTP - メールを中継できない</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=07200401"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=07200401&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! S/MIME&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;SMTP で電子メールを送信すると、「メールを中継できない (Unable to relay mail)」あるいは「中継は許されていない (Relaying not allowed)」というエラーになります。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;SMTP による中継は、異なるドメインに対し送信された電子メールをメールサーバがを受け入れ、他のドメインへと転送する際に発生します。多くのメールサーバは中継機能をサポートしていません。サポートする場合は、しばしば最初に認証をまず最初に行うことが要求されます。この認証は、送信に先立ちユーザ名とパスワードを指定することで行います。&lt;br /&gt;&lt;br /&gt;受取人の属するサーバではないメールサーバに電子メールを送ることで中継を要求する代わりに、その電子メールを受取人のメールサーバに直接送信することができます。(もし受取人のメールサーバが不明の場合は、MX コンポーネントを使って調べることができます。)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-4232313452539138844?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/4232313452539138844/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=4232313452539138844' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4232313452539138844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4232313452539138844'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/smtp_21.html' title='SMTP - メールを中継できない'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-5895342795292964870</id><published>2008-04-21T14:59:00.003+09:00</published><updated>2008-04-21T15:17:40.617+09:00</updated><title type='text'>SMTP 送信時に開封確認を設定する方法</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=11060101"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=11060101&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;SMTP 経由でメッセージを送信する際に、開封確認を設定するにはどうすればよいですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;メッセージ送信前に、コンポーネントの ReadReceiptTo プロパティを設定するだけでOKです。ReadReceiptTo には開封確認 (read-receipt) を受け取るべきメールアドレスを指定します。&lt;br /&gt;&lt;br /&gt;例:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    SMTP1.ReadReceiptTo = "myaddress@mydomain.com"&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-5895342795292964870?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/5895342795292964870/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=5895342795292964870' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5895342795292964870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5895342795292964870'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/smtp.html' title='SMTP 送信時に開封確認を設定する方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-3180092605370184961</id><published>2008-04-18T23:52:00.004+09:00</published><updated>2008-04-19T00:02:09.529+09:00</updated><title type='text'>HTML メールまたはアタッチファイル付メールの送信に SMTP を使用する</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06050215"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06050215&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;アタッチファイルや メッセージ本文が HTML テキストを送信するにはどうすれば良いですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;これを行う最も簡単な方法は、HTMLMailer コントロールを使用することです。このコンポーネントには引数としてファイル名を取る AddAttachment メソッドが用意されており、自動的にファイルをエンコードして送信電子メールを生成します。このコンポーネントにはまた MessageHTML プロパティがあり、これを使用することで電子メールに HTML のパートを指定することができます。&lt;br /&gt;&lt;br /&gt;HTMLMailer コントロールも FileMailer コントロールも使用しない場合は、SMTP コントロールに MIME オブジェクトを組み合わせて、メッセージを MIME エンコードする必要があります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-3180092605370184961?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/3180092605370184961/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=3180092605370184961' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3180092605370184961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3180092605370184961'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/html-smtp.html' title='HTML メールまたはアタッチファイル付メールの送信に SMTP を使用する'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-55231058507968785</id><published>2008-04-18T23:31:00.003+09:00</published><updated>2008-04-23T12:35:42.312+09:00</updated><title type='text'>NetClock の仕様</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06050212"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06050212&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! V8&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;NetClock は SNTP プロトコルを実装していますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;はい、NetClock コンポーネントは SNTP プロトコルと Time プロトコル (RFC868 - ポート37) をサポートしています。既定値では当該コンポーネントは Time プロトコルを使用しますが、Protocol プロパティを使用して切り替えることができます。&lt;br /&gt;&lt;br /&gt;V8 より前のバージョンのコンポーネントでは Time プロトコルのみをサポートしていました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-55231058507968785?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/55231058507968785/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=55231058507968785' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/55231058507968785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/55231058507968785'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/netclock.html' title='NetClock の仕様'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-6623262162620266411</id><published>2008-04-18T23:10:00.001+09:00</published><updated>2008-04-18T23:21:06.485+09:00</updated><title type='text'>PEM ASN.1 構造の解析時にエラー: デコードエラー</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=08060701"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=08060701&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! S/Shell&lt;/li&gt;&lt;li&gt;IP*Works! SSH&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;SFTP Adapter や SFTP コンポーネントを使用すると、"Error parsing PEM ASN.1 structure: Error decoding" (PEM ASN.1 構造の解析エラー: デコードエラー) というエラーが表示されます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;このエラーは、提示した PEM キーが当該 Adapter や当該コンポーネントにより解析できない形式であった場合に発生します。SSH の CertStore プロパティに設定した PEM キーは OpenSSH RSA 形式ですか？そうでない場合は、その書式を変換する必要があります。その方法の1つとして、&lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"&gt;PuTTYgen&lt;/a&gt; を使用した次のような方法があります:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Conversions メニューから Import Key を選択し、既存の秘密鍵をインポートします。&lt;/li&gt;&lt;li&gt;Conversions メニューから Export OpenSSH Key を選択します。&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-6623262162620266411?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/6623262162620266411/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=6623262162620266411' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6623262162620266411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6623262162620266411'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/pem-asn1.html' title='PEM ASN.1 構造の解析時にエラー: デコードエラー'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-3782886393529194217</id><published>2008-04-18T15:33:00.004+09:00</published><updated>2008-04-18T23:03:32.937+09:00</updated><title type='text'>エラー 20274 または 273: セキュリティ証明書を取得できません</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=11010102"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=11010102&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;何種類ものトランザクションで、エラーコード 273 または 20274、メッセージ「セキュリティ証明書を取得できません (could not acquire security credentials)」が表示されるとユーザからレポートされます。 &lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;このエラーが発生する最も良くあるケースは、クライアントサーバ証明書の発行者を信頼していないというケースです。この問題は、(当該証明書の)発行機関の証明書をインストールするか、あるいは発行者を信頼するようプログラムすることで解決できます。&lt;br /&gt;&lt;br /&gt;この問題はまた、クライアントまたはサーバにより使用されている証明書が正しくない場合にも発生します。&lt;br /&gt;&lt;br /&gt;もしお使いの証明書がトランザクションで無効とされるのであれば、新しい証明書を取得すべきです。&lt;br /&gt;&lt;br /&gt;弊社ではこの基準に適合するテスト用証明書を提供しています。ただし、この証明書はテスト目的のものであり、商用証明書の持つ全ての利点を提供するものではありません。/n software, Inc. は提供する証明書そのもの、あるいは本証明書を使用するサーバのセキュリティ管理に対しいかなる責任をも持つことはありません。この条件に同意されるのであれば、&lt;a href="http://www.nsoftware.com/kb/download/testcert.pfx"&gt;評価用証明書のダウンロード&lt;/a&gt;を行って頂けます。&lt;br /&gt;&lt;br /&gt;このテスト用証明書をダブルクリックするだけで、非常に簡単なインストール手順が開始され、当該証明書が「個人 (Personal)」証明書ストアにインストールされます。証明書のインストールに必要なパスワードは "test" です。&lt;br /&gt;&lt;br /&gt;もし Thawte や Verisign から証明書を取得するのであれば、SSL サーバ証明書を取得する必要があります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-3782886393529194217?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/3782886393529194217/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=3782886393529194217' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3782886393529194217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3782886393529194217'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/20274-273.html' title='エラー 20274 または 273: セキュリティ証明書を取得できません'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-9078355809434440981</id><published>2008-04-18T14:47:00.002+09:00</published><updated>2008-04-18T15:11:13.605+09:00</updated><title type='text'>サーバ証明書を確認できません</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=10080102"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=10080102&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;接続を試みると、サーバ証明書が確認できなかった旨のエラーが表示されます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;SSL コネクションを確立する際に、サーバは常に接続対象のクライアントに対し証明書を提示します。そしてクライアントはシステムをチェックし、サーバの証明書が有効であるかどうか (つまり証明書の有効期間が正しいか、証明書の CN がリモートホストの名称と一致するか、証明書の発行機関が信頼できるか、等) を調べます。もし当該証明書が無効なものであった場合、"Error verifying server certificate" (サーバ証明書の確認エラー) というエラーが表示されるでしょう。&lt;br /&gt;&lt;br /&gt;この問題を解決するには、以下のいずれかを行います:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;当該ウェブサーバにインストールされている有効なサーバ証明書を取得する&lt;/li&gt;&lt;li&gt;当該証明書を受理するようプログラムで対応&lt;/li&gt;&lt;li&gt;クライアントマシン側に、サーバ証明書を発行する機関の公開鍵を、信頼できる CA (&lt;strong&gt;C&lt;/strong&gt;ertificate &lt;strong&gt;A&lt;/strong&gt;uthority; 証明書発行機関) ストアにインストールする。&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;証明書をプログラムで受理する場合は、次のうちのいずれかで行えます:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;SSLAcceptServerCert プロパティに、受理すべき証明書の公開鍵を Base64 エンコードしたものを設定します。また、このプロパティには、コネクションを試行すると、それが成功したか失敗したかにかかわらず実際のサーバ証明書が格納されます。&lt;/li&gt;&lt;li&gt;SSLServerAuthentication イベントを使用してサーバ証明書を検査し、Accept パラメータに true を設定する。&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;実例:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    if Err.number = 20277 then 'Cert not trusted &lt;br /&gt;      control.SSLAcceptServerCert = control.SSLServerCert&lt;br /&gt;      control.Method() &lt;br /&gt;    end if&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;あるいは、SSLServerAuthentication イベント内で&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    e.Accept = True &lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;＊警告＊ - 信頼されていない証明書を受理することで、セキュリティ上の問題を発生する可能性があります。たとえデータは暗号化されている場合であっても、サーバの同一性が証明されるわけではありません。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-9078355809434440981?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/9078355809434440981/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=9078355809434440981' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/9078355809434440981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/9078355809434440981'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/blog-post_18.html' title='サーバ証明書を確認できません'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-6530861437310521324</id><published>2008-04-18T14:23:00.001+09:00</published><updated>2008-04-18T14:24:20.655+09:00</updated><title type='text'>セキュリティ・プロバイダが見つからない - Java</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06170417"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06170417&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;作成した Java アプリケーションを実行すると、「セキュリティ・プロバイダが見つかりません (Cannot Find Security Provider)」というエラーが表示されます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;このエラーは JDK が SSL 機能に必要なセキュリティ・プロバイダを見つけられない場合に発生します。JDK を 1.4 にアップグレードすれば、この問題は発生しなくなります。JDK 1.3 をご利用の場合は、JSSE 1.0 をインストールする必要があります。JSSE のインストールは、ファイルをコピーする以上の意味を持っています。JSSE zip にはインストール時に参照する手順も添付されていますが、以下に JSSE インストール手順から抽出した基本操作を示しておきます:&lt;br /&gt;&lt;br /&gt;1) JSSE 1.0.3_03 をダウンロードします。&lt;br /&gt;&lt;br /&gt;2) ダウンロードしたファイルを展開し、取り出します。&lt;br /&gt;&lt;br /&gt;3) JSSE jar ファイルをインストールします。&lt;br /&gt;&lt;br /&gt;JSSE の lib サブディレクトリには jsse.jar、jcert.jar および jnet.jar という拡張ファイルが格納されています。これらのファイルは、JDK/JRE にインストールする (「インストール拡張」) か、あるいはそれらを作成したアプレットやアプリケーションにバンドルする (「バンドル拡張」) のいずれかを行えます。インストール拡張としてそれらをインストールしたいのであれば、それらのファイルを以下のディレクトリに格納します:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;java-home/lib/ext&lt;/blockquote&gt;&lt;br /&gt;4) SunJSSE プロバイダを登録します。&lt;br /&gt;&lt;br /&gt;JSSE 1.0.3_03 には標準で "SunJSSE" という名称の暗号サービスプロバイダ (Cryptographic Service Provider)、あるいは縮めて「プロバイダ」が同梱されています。"SunJSSE" プロバイダはあらゆる JSSE 1.0.3_03 のインストレーション内で提供されていますが、そのサービスがアクセス可能となるためには前もって明示的に、静的または動的に構成されている必要があります。&lt;br /&gt;&lt;br /&gt;プロバイダの登録手順は、インストール手順に記載されています。&lt;br /&gt;&lt;br /&gt;【訳注】JDK 1.3 は弊社 Java 製品のサポート対象ではありますが、既にかなり古い物となっておりますので実質的には JDK 1.4 以降の利用を想定して製品はリリースされています。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-6530861437310521324?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/6530861437310521324/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=6530861437310521324' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6530861437310521324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6530861437310521324'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/java.html' title='セキュリティ・プロバイダが見つからない - Java'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-4058744676579561584</id><published>2008-04-17T16:47:00.003+09:00</published><updated>2008-04-17T16:57:30.763+09:00</updated><title type='text'>ハンドシェーク エラーについて</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=07120406"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=07120406&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;li&gt;IP*Works! SSH&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;IP*Works! SSL や SSH ツールキットのコントロールを使用すると "Error during handshake" (ハンドシェーク中にエラー) というエラーが発生します。これはどのようにデバグすれば良いのでしょうか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;このエラー自体は一般的なものですが、特に SSL や SSH 通信のハンドシェーク処理に対するものです。&lt;br /&gt;&lt;br /&gt;より詳細な情報を得るには SSLServerAuthentication イベントだけでなく SSLStatus イベントもチェックしてください。SSLServerAuthentication イベントの Accept パラメータが false になっている場合は、Status パラメータにエラーの理由が格納されています。また、Accept パラメータを true に設定することで、手作業で当該サーバ証明書を受理するよう強制することができます。&lt;br /&gt;&lt;br /&gt;また、当該サーバがクライアント認証を要求していないかどうかもチェックする必要があるでしょう。もし要求されているのであれば、当該コントロールの SSLCert プロパティが、サーバに対して提示する必要のある証明書を指すように設定してください。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-4058744676579561584?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/4058744676579561584/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=4058744676579561584' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4058744676579561584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4058744676579561584'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/blog-post.html' title='ハンドシェーク エラーについて'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-7258698069230136959</id><published>2008-04-17T16:37:00.002+09:00</published><updated>2008-04-17T16:39:24.145+09:00</updated><title type='text'>Squid プロクシサーバ</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=01190501"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=01190501&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;IP*Works! は Squid プロクシをサポートしますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;IP*Works! は Squid プロクシをサポートします。Squid は HTTP Proxy であり、これは即ち HTTP GET リクエストを受理することを意味しますが、HTTPS GET は受理しません。ただし、Squid は非 SSL および SSL リクエストに対する HTTP トンネリングをサポートしていますので、以下にそのアクセス方法を示します。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    https1.FirewallType = nsoftware.IPWorksSSL.HttpsFirewallTypes.fwTunnel; &lt;br /&gt;    https1.FirewallHost = "62.2.204.30"; &lt;br /&gt;    https1.FirewallPort = 8080; &lt;br /&gt;    https1.Get("https://www.microsoft.com"); &lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;非 SSL URL をアクセスするのであれば、(URL に http:// を使う点を除き) 上記と同じ HTTP トンネリングコードをご利用頂けるはずです。あるいは、以下のコードもご利用頂けます。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    https1.ProxyServer = "62.2.204.30"; &lt;br /&gt;    https1.ProxyPort = 8080; &lt;br /&gt;    https1.Get("http://www.microsoft.com"); &lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-7258698069230136959?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/7258698069230136959/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=7258698069230136959' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7258698069230136959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7258698069230136959'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/squid.html' title='Squid プロクシサーバ'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-9197091295366819114</id><published>2008-04-17T16:25:00.003+09:00</published><updated>2008-04-17T16:28:07.090+09:00</updated><title type='text'>SSLClientMode について</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=08040402"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=08040402&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;どうやれば IPPortS を「TLS サーバ」として、あるいは IPDaemon を「TLS クライアント」として動作させることができますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;IPPortS はクライアントコンポーネントであるため既定値では常に「TLS クライアント」です。同様に、IPDaemonS はサーバコンポーネントであるため常に「TLS サーバ」です。&lt;br /&gt;&lt;br /&gt;通常のシナリオではクライアント (IPPortS) からサーバ (IPDaemonS) に向けて TCP コネクションを確立させます。次にクライアントは SSL クライアント hello を送信し、続けてサーバが承認情報 (acknowledgement) を返すことで SSL/TLS ネゴシエーションを開始します。&lt;br /&gt;&lt;br /&gt;一方、この手順の2番目のパートを逆方向で行わねばならない、すなわち TCP クライアントが SSL サーバとして動作し、また TCP サーバが SSL クライアントとして動作せねばならないようなシナリオが幾つか存在します。ここで、TCP コネクションの後 IPDaemonS が SSL クライアントの hello を SSL サーバとして承認する立場の IPPortS に送信するものとしましょう。&lt;br /&gt;&lt;br /&gt;IPPortS が TLS サーバモードを使用するよう強制するには、SSLClientMode 構成設定パラメータ (config setting) を false に設定します。IPPortS はあたかもサーバであるかのように証明書情報を提示します。そしてその情報はクライアント証明書を通常取得する場所、即ち SSLCert プロパティから取得されます。&lt;br /&gt;&lt;br /&gt;また IPDaemonS に TLS クライアントモードを使用するよう強制するには、SSLClientMode 構成設定パラメータを false に設定します。このモードでは、SSLClientAuthentication イベントはあたかも IPPort の SSLServerAuthentication イベントであるかのように動作します。&lt;br /&gt;&lt;br /&gt;【訳注】構成設定パラメータ SSLClientMode および SSLServerMode は V6/V8 共に利用可能ですが、どちらもヘルプファイルには記載されていません。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-9197091295366819114?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/9197091295366819114/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=9197091295366819114' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/9197091295366819114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/9197091295366819114'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/sslclientmode.html' title='SSLClientMode について'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-1461490302915734481</id><published>2008-04-17T14:20:00.003+09:00</published><updated>2008-04-17T14:29:53.874+09:00</updated><title type='text'>IP*Works! 製品は Google Talk をサポートしていますか？</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09270705"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09270705&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;IP*Works! 製品は Google Talk をサポートしていますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;SSL 製品に含まれている XMPPS (SSL 版 Jabber) コンポーネントは Google Talk をサポートしています。SSL 製品が必要なのは、Google Talk が SSL 接続を要求するためです。Google talk に接続するには、talk.google.com に Google Talk ログイン用メールアカウントを使用します。&lt;br /&gt;&lt;br /&gt;例:)&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    xmpp.IMServer = "talk.google.com";&lt;br /&gt;    xmpp.Connect("username@gmail.com", "password");&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-1461490302915734481?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/1461490302915734481/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=1461490302915734481' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1461490302915734481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1461490302915734481'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ipworks-google-talk.html' title='IP*Works! 製品は Google Talk をサポートしていますか？'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-1257652184274778810</id><published>2008-04-15T16:46:00.004+09:00</published><updated>2008-04-15T23:17:27.840+09:00</updated><title type='text'>SSL Edition を Windows 9x で利用できますか？</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06170433"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06170433&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! SSL V6 およびそれ以前&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;SSL Edition 製品は Windows 9x 上で利用可能ですか？使おうとすると、エンクリプションエラーになってしまいます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法&lt;/p&gt;&lt;br /&gt;IP*Works! SSL は Windows NT 4.0 SP4 以降および Windows 2000 にインストールされているセキュリティ ライブラリを使用します。&lt;br /&gt;&lt;br /&gt;SSL コンポーネント (HTTPS 以外のコンポーネント。HTTPS は以下の手順なしに、UseWininet プロパティに true を設定することで利用可能。) を Win9x プラットフォームで使用する、あるいは wininet を使用せずに利用するためには、SSPI を有効にする必要があります。&lt;br /&gt;&lt;br /&gt;以下に必要な手順の概略を示します。&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.nsoftware.com/download/"&gt;http://www.nsoftware.com/download/&lt;/a&gt; から IP*Works! SSL の最新ビルドをダウンロードします。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Internet Explorer 5.01 またはそれ以降をインストールします。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Windows 95/98 用のディレクトリサービス クライアントをインストールします。また、Windows 2000 サーバー CD に格納されている DSCLIENT.EXE をインストールする必要があります。このファイルは \Clients\Win9x\DSCLIENT.EXE として格納されています。この手順により、セキュリティ・サブシステムの重要部分をいくつか更新します。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;レジストリを更新する必要があります。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders に格納されている文字列の末尾に ", schannel.dll" を追加する必要があります。&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;レジストリ更新に不慣れな方は、regedit でレジストリを編集できます。&lt;br /&gt;&lt;br /&gt;また、Win95、98 および NT で使用する証明書は、エクスポート可能とマークされた秘密鍵を含んでいる必要があります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-1257652184274778810?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/1257652184274778810/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=1257652184274778810' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1257652184274778810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1257652184274778810'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ssl-edition-windows-9x.html' title='SSL Edition を Windows 9x で利用できますか？'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-3295634983656689141</id><published>2008-04-15T16:36:00.003+09:00</published><updated>2008-04-15T16:44:31.521+09:00</updated><title type='text'>私の証明書は SSL トランザクションに使用できますか？</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=10190104"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=10190104&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;私の証明書が SSL トランザクションに対し有効かどうかはどうやって判定すればよいですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;あなたの「証明書」がデジタル ID であれば、SSL トランザクションに対し有効です。なお、その証明書には公開鍵と秘密鍵の両方が含まれていなければなりません。&lt;br /&gt;&lt;br /&gt;秘密鍵証明書のみでは不十分です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-3295634983656689141?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/3295634983656689141/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=3295634983656689141' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3295634983656689141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3295634983656689141'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ssl.html' title='私の証明書は SSL トランザクションに使用できますか？'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-5213459624021494484</id><published>2008-04-15T16:17:00.002+09:00</published><updated>2008-04-15T16:35:30.916+09:00</updated><title type='text'>IP*Works! SSL コンポーネントは非 SSL モードでも利用できますか？</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06170401"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06170401&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;IP*Works! SSL コンポーネントは非 SSL モードでも利用できますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;SSL Edition に含まれる全てのコンポーネントは、非 SSL モードで動作します。SSL の無効化は、SSLStartMode プロパティに None を設定することで行うことができます。&lt;br /&gt;&lt;br /&gt;注意: SSL Edition は SSL に無関係なコンポーネント、例えば UDP ベースのコンポーネントやエンコーディング関係のコンポーネントは含まれていません。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-5213459624021494484?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/5213459624021494484/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=5213459624021494484' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5213459624021494484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5213459624021494484'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ipworks-ssl-ssl.html' title='IP*Works! SSL コンポーネントは非 SSL モードでも利用できますか？'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-5519696425391551985</id><published>2008-04-14T16:17:00.003+09:00</published><updated>2008-04-14T16:32:34.120+09:00</updated><title type='text'>HTTP/S コンポーネントにおけるプロクシ関係プロパティの使い方</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06170416"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06170416&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;HTTP/S コンポーネントでどのようにプロクシ関連プロパティを使えばよいですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;基本認証をしたい場合:&lt;br /&gt;&lt;br /&gt;proxyserver、port、user および password の各プロパティを指定するだけです:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    HTTPS1.proxyserver = proxyserver&lt;br /&gt;    HTTPS1.ProxyPort = 8080&lt;br /&gt;    HTTPS1.ProxyUser = user&lt;br /&gt;    HTTPS1.ProxyPassword = pass&lt;br /&gt;    HTTPS1.Get txtURL.Text&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;ダイジェスト認証をしたい場合 (少なくとも IP*Works! V6 以降が必要):&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    HTTPS1.AuthScheme = 1 'authDigest&lt;br /&gt;    HTTPS1.proxyserver = proxyserver&lt;br /&gt;    HTTPS1.ProxyPort = 8080&lt;br /&gt;    HTTPS1.ProxyUser = user&lt;br /&gt;    HTTPS1.ProxyPassword = pass&lt;br /&gt;    HTTPS1.Get txtURL.Text&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;NTLM 認証が必要な場合: (少なくとも IP*Works! V8 が必要):&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;&lt;br /&gt;    HTTPS1.AuthScheme = 4 'authNtlm&lt;br /&gt;    HTTPS1.proxyserver = proxyserver&lt;br /&gt;    HTTPS1.ProxyPort = 8080&lt;br /&gt;    HTTPS1.ProxyUser = user&lt;br /&gt;    HTTPS1.ProxyPassword = pass&lt;br /&gt;    HTTPS1.Get txtURL.Text&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;以前のバージョンの IP*Works! で NTLM 認証を行う必要がある場合 (HTTPS でのみ、usewininet を True に設定することでサポート):&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;usewininet に true を設定し、proxyserver、port、user および password を指定:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    HTTPS1.usewininet = true&lt;br /&gt;    HTTPS1.proxyserver = proxyserver&lt;br /&gt;    HTTPS1.ProxyPort = 8080 &lt;br /&gt;    HTTPS1.ProxyUser = user&lt;br /&gt;    HTTPS1.ProxyPassword = pass&lt;br /&gt;    HTTPS1.Get txtURL.Text&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;usewininet に true を設定し、&lt;strong&gt;全て&lt;/strong&gt;を wininet に任せる:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    HTTPS1.usewininet = true&lt;br /&gt;    HTTPS1.proxyserver = "*"&lt;br /&gt;    HTTPS1.Get txtURL.Text&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;usewininet に true を設定し、自分でユーザとパスワードを設定:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    HTTPS1.usewininet = true&lt;br /&gt;    HTTPS1.proxyserver = "*"&lt;br /&gt;    HTTPS1.ProxyPort = 8080&lt;br /&gt;    HTTPS1.ProxyUser = user&lt;br /&gt;    HTTPS1.ProxyPassword = pass&lt;br /&gt;    HTTPS1.Get txtURL.Text&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;これは以下のコードと同等です。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    HTTPS1.usewininet = true&lt;br /&gt;    HTTPS1.proxyserver = "*user*password"&lt;br /&gt;    HTTPS1.ProxyPort = 8080&lt;br /&gt;    HTTPS1.Get txtURL.Text&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-5519696425391551985?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/5519696425391551985/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=5519696425391551985' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5519696425391551985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5519696425391551985'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/https.html' title='HTTP/S コンポーネントにおけるプロクシ関係プロパティの使い方'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-768800039377495743</id><published>2008-04-14T16:03:00.003+09:00</published><updated>2008-04-14T16:16:09.612+09:00</updated><title type='text'>NTLM プロクシ経由で認証する方法</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=11010101"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=11010101&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! V8&lt;/li&gt;&lt;li&gt;IP*Works! SSL V8 およびそれ以前&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;貴社コントロールを使用して NTLM プロクシ経由で認証しようとすると失敗します。どうすればよいのでしょうか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;NTLM は HTTP および電子メール関連の全てのコントロールにおいて AuthScheme プロパティまたは AuthMechanism プロパティ経由でサポートされています。これらのプロパティに NTLM を設定し、User プロパティおよび Password プロパティにそれぞれ適切な値を設定するだけでご利用頂けます。&lt;br /&gt;&lt;br /&gt;ただし以前のバージョンでは、NTLM プロクシは IP*Works! SSL パッケージでのみ、UseWininet プロパティあるいは UseWinInet Config 設定 (どちらを使用するかは製品バージョンによります) を通じてをご利用頂けました。既定値では wininet 機能は利用されず、このためこれら古いバージョンでは NTLM をサポートするためには UseWinInet に true を設定する必要があります。&lt;br /&gt;&lt;br /&gt;UseWinInet を設定した後は、&lt;strong&gt;ProxyServer&lt;/strong&gt; プロパティ経由でプロクシサーバで認証するための正しい&lt;em&gt;ユーザ名&lt;/em&gt;および&lt;em&gt;パスワード&lt;/em&gt;を渡す必要があります。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;HTTPS1.ProxyServer = "*" &amp; ProxyUsername &amp; "*" &amp; ProxyPassword&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;これらを設定した後なら一連の HTTP/S メソッドを発行し、NTLM プロクシを通過することができるはずです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-768800039377495743?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/768800039377495743/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=768800039377495743' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/768800039377495743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/768800039377495743'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ntlm.html' title='NTLM プロクシ経由で認証する方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-4835275570992430005</id><published>2008-04-14T15:49:00.003+09:00</published><updated>2008-04-14T15:58:43.584+09:00</updated><title type='text'>IPMonitor で外に出て行くパケットを表示できません</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06170430"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06170430&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;IPMonitor コンポーネントを使っているのですが、受信パケットは全く問題なく表示できますが送信パケットが全く表示されません。&lt;br /&gt;&lt;br /&gt;&lt;p style="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;IPMonitor はインターフェイスによって「受信」されたパケットだけを検出します。ただし、Windows XP のパーソナルファイアウォール機能を有効にすることで送信データが見えるようになります。&lt;br /&gt;&lt;br /&gt;パーソナルファイアウォール機能はネットワーク接続プロパティの「拡張機能」タブにあります。&lt;br /&gt;&lt;br /&gt;注意: 当該インターフェイスはプロミシャスモードをサポートしていなければなりません。この機能は Windows 2000 以降でのみ利用可能です。(また、多くのワイヤレスカードではセキュリティ上の観点からこの機能は動作しないようになっている可能性があります。)&lt;br /&gt;&lt;br /&gt;注意: あなたのコンピュータがスイッチに接続している場合、スイッチはあなたのコンピュータ向けのパケットだけをフォワードします。そうではなくあなたのコンピュータが接続しているのがハブである場合、あなたはあらゆるデータを受信します。&lt;br /&gt;&lt;br /&gt;また、この機能をご利用いただく場合は管理者権限 (raw socket 権限) を持っていなければなりません。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-4835275570992430005?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/4835275570992430005/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=4835275570992430005' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4835275570992430005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4835275570992430005'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ipmonitor.html' title='IPMonitor で外に出て行くパケットを表示できません'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-2161923600669024282</id><published>2008-04-11T23:24:00.003+09:00</published><updated>2008-04-11T23:36:31.831+09:00</updated><title type='text'>Error: Valid Name, no data record</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=12140004"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=12140004&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;貴社製品のコントロールを使おうとすると、"Valid Name, no data record" というエラーになります。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;この問題は、ご利用頂いている DNS サーバがドメイン名を IP アドレスへと解決できない場合に発生します。正しい名称、例えば 'domain.com' の代わりに 'www.domain.com' を指定してみてください。&lt;br /&gt;&lt;br /&gt;これは DNS サーバの問題である可能性もあります。&lt;br /&gt;&lt;br /&gt;DNS 解決を手で行い、URLServer 部分を数値 (IP アドレス) で置換する方法もあります。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;    HTTP1.GET "http://10.0.1.129/file.htm"&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-2161923600669024282?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/2161923600669024282/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=2161923600669024282' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2161923600669024282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2161923600669024282'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/error-valid-name-no-data-record.html' title='Error: Valid Name, no data record'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-913441163481642728</id><published>2008-04-11T22:48:00.003+09:00</published><updated>2008-04-11T23:12:47.150+09:00</updated><title type='text'>Non-authoritative 'Host not found' (try again or check DNS setup)</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06170414"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06170414&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;"Non-authoritative 'Host not found'" が出続けるのですが、これは何を意味していてどう対処すればよいのでしょうか。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;エラー 11002 は問い合わせを受ける DNS サーバの幾つかあるいは全てが、指定されたタイムアウト時間内に応答を返さなかったことを意味します。従って、'host not found' エラーは信頼できるものではありません。与えられたホスト名が正しいものであるかどうかを確認するか、ホスト名の代わりに IP アドレスを使用してください。&lt;br /&gt;&lt;br /&gt;DNS システムは電話番号案内システムに似ています。あなたがオペレーターに問い合わせ、それが市外の番号であればオペレーターは上位管轄のオペレーターに問い合わせ、そしてその番号が国際電話番号であれば恐らく第3のオペレーターに問い合わせを行うでしょう。&lt;br /&gt;&lt;br /&gt;簡易な解決法:少し待ってみましょう。Winsock の待ち時間が十分ではなかったのだと思われます。それでも問題が発生するようであれば、インターネット接続やネットワーク等に問題がある可能性があります。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-913441163481642728?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/913441163481642728/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=913441163481642728' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/913441163481642728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/913441163481642728'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/non-authoritative-host-not-found-try.html' title='Non-authoritative &apos;Host not found&apos; (try again or check DNS setup)'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-1254799818285091946</id><published>2008-04-11T16:58:00.005+09:00</published><updated>2008-04-11T17:07:25.623+09:00</updated><title type='text'>SMTP 認証 (RFC2554)</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=12140001"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=12140001&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;認証を必要とする SMTP サーバに接続したいのですが。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;IP*Works! の Version 6 では AuthMechanism、User および Password の各プロパティを通じ基本認証および CRM-MD5 認証を SMTP 認証としてサポートします。これらのプロパティに適切な値を設定し、サーバに対し接続するだけです。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;  SMTP1.AuthMechanism = 0 'amUserPassword or BASIC&lt;br /&gt;  SMTP1.User = "username"&lt;br /&gt;  SMTP1.Password = "password"&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;では、それより古いバージョンの IP*Works! ではどうすればよいでしょうか？この場合は、以下のコマンドをサーバに対し送信します:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;  SMTP1.Command = "AUTH LOGIN"&lt;br /&gt;  SMTP1.Command = "base64-encoded-username"&lt;br /&gt;  SMTP1.Command = "base64-encoded-password"&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;なお、Base64 エンコーディングには NetCode コントロールをご利用いただけます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-1254799818285091946?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/1254799818285091946/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=1254799818285091946' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1254799818285091946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1254799818285091946'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/smtp-rfc2554.html' title='SMTP 認証 (RFC2554)'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-2637907951616430448</id><published>2008-04-11T16:31:00.004+09:00</published><updated>2008-04-11T16:38:02.237+09:00</updated><title type='text'>SMTP コンポーネントで送信したメッセージを「送信済み」(Sent) フォルダに移動する方法</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06250702"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06250702&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;メッセージを「送信済み」(Sent) フォルダに追加するには、IMAP コンポーネントを使用できます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;SMTP コンポーネントを使用して送信したメッセージのコピーを、あなたのメールサーバの「送信済み」アイテムフォルダに保存する必要があるのであれば、以下の方法を利用できます:&lt;br /&gt;&lt;br /&gt;まず最初に、送信したメッセージのヘッダと本文を以下のようにして保存します:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;  String myMessage = smtp.MessageHeaders + "\r\n\r\n" + smtp.MessageText;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;続いて、IMAP コンポーネントを用いて以下のようにします:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;  imap.MesageText = myMessage;&lt;br /&gt;  imap.Mailbox = "SENT";&lt;br /&gt;  imap.AppendToMailbox();&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-2637907951616430448?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/2637907951616430448/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=2637907951616430448' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2637907951616430448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2637907951616430448'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/smtp-sent.html' title='SMTP コンポーネントで送信したメッセージを「送信済み」(Sent) フォルダに移動する方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-8927737614274991405</id><published>2008-04-11T16:21:00.003+09:00</published><updated>2008-04-11T16:25:34.734+09:00</updated><title type='text'>IMAP サーバ上でメールにフラグを設定する</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=10080104"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=10080104&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;IMAP 経由で MessageFlags に "Seen" を設定したのですが、"BAD Protocol Error: Specified set of flags is not valid" (指定されたフラグ集合は無効です) というエラーになってしまいます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;あなたの得たい結果を得るには、"\Seen" (C# なら @"\Seen" または "\\Seen") を設定してください。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-8927737614274991405?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/8927737614274991405/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=8927737614274991405' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8927737614274991405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8927737614274991405'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/imap.html' title='IMAP サーバ上でメールにフラグを設定する'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-2946614301185920458</id><published>2008-04-11T16:02:00.002+09:00</published><updated>2008-04-11T16:06:13.354+09:00</updated><title type='text'>IMAP MailboxList</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06050205"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06050205&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;あるアカウントにおいて、Inbox だけでなく全てのメールボックスの一覧を取得したい。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;IMAP プロトコルでは、メールボックス上でメールボックスの一覧メソッドを実行した場合、返されるリストには当該アカウントのメールボックスが全て含まれます。例えば以下のようにしてください:&lt;br /&gt;&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;imap.Mailbox = "*"&lt;br /&gt;imap.ListMailboxes&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-2946614301185920458?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/2946614301185920458/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=2946614301185920458' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2946614301185920458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/2946614301185920458'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/imap-mailboxlist.html' title='IMAP MailboxList'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-4277946847114906162</id><published>2008-04-11T15:41:00.002+09:00</published><updated>2008-04-11T15:49:23.419+09:00</updated><title type='text'>MIME バウンダリが見つかりません</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06050210"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06050210&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;POP/MIME を試しているのですが、"20283 - No MIME-boundary found" という奇妙なエラーがでてしまいます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;このエラーは、デコードしようとしているファイルが MIME エンコードされていないか、あるいは正しくエンコードされていないかのどちらかであることを意味します。POP コントロールからメッセージを Localfile プロパティまたは Transfer イベントを通じて保存しようとしているのであれば、デコード対象のメッセージのヘッダがないことを表しています。このヘッダは MIME コントロールに必須のものです。これらのヘッダは POP コントロールの Headers イベントを通して得られます。同様のことが IMAP オブジェクトについても言えます。デコードしようとしている対象に、ヘッダとメッセージ本文が共に含まれていることを確認してください。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-4277946847114906162?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/4277946847114906162/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=4277946847114906162' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4277946847114906162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/4277946847114906162'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/mime.html' title='MIME バウンダリが見つかりません'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-3424649288787027649</id><published>2008-04-11T15:27:00.005+09:00</published><updated>2008-04-11T15:53:31.402+09:00</updated><title type='text'>POP で受け取ったメールのデコード方法</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=06170422"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=06170422&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;メッセージ受信の際に、POP オブジェクトから受け取ったメッセージがエンコードされています。どうしてこのようにエンコードされたままなのでしょうか。また、そのメッセージを市販の製品と同じように表示するにはどうすればよいのでしょうか。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;平文より複雑なメッセージは MIME エンコードされます。アタッチメントや HTML パート、インラインイメージやフォーマット済み文書は単一のエンティティにエンコードされます。これらのメッセージはメールクライアントによってデコードされるまでは MIME 形式のままです。POP サーバから受け取ったメッセージを対応するパートへとデコードするには、MIME オブジェクトを使用する必要があります。MIME エンコーディングは何階層にもカプセル化することができるため、MIME エンティティが埋め込まれていることを検出した場合は自分自身を呼び出し可能な再起呼び出しルーチンを使いと思うでしょう。以下に示すのは MIME デコード用の一般用途向けのルーチンです。このルーチンを、POP の MessageHeaders と MessageText の値を使って呼び出すことになります。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color: black"&gt;Private Sub MimeDecode(ByVal　EntityHeaders As String, ByVal Entity As String)&lt;br /&gt; Dim Mime1 As New nsoftware.IPWorks.Mime&lt;br /&gt; Dim i As Integer  &lt;br /&gt; Mime1.MessageHeaders = EntityHeaders  &lt;br /&gt; Mime1.Message = Entity  &lt;br /&gt; Try&lt;br /&gt;     Mime1.DecodeFromString()&lt;br /&gt; Catch&lt;br /&gt;    'If an error is encountered, the entity is not a valid MIME entity&lt;br /&gt;    Exit Sub&lt;br /&gt; End Try&lt;br /&gt; For i = 0 To Mime1.PartCount - 1&lt;br /&gt;    'If the Content-Type is "Multipart/????", then that part is an encoded entity&lt;br /&gt;    'You will want to call this routine again&lt;br /&gt;    If LCase(Mime1.PartContentType(i)).StartsWith("multipart") Then&lt;br /&gt;       MimeDecode(Mime1.PartHeaders(i), Mime1.PartDecodedString(i))&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;    'If a part is text/plain and is not an attachment, it is generally&lt;br /&gt;    'the plain text body of the message&lt;br /&gt;    If Mime1.PartFilename(i) = "" And LCase(Mime1.PartContentType(i)) = "text/plain" Then&lt;br /&gt;    'Display your text here; you'll want to read from&lt;br /&gt;    Mime1.PartDecodedString(i)&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  'If you're going to support HTML messages, you'll want to look for this&lt;br /&gt;  'part, and if found, use it in place of the plain text&lt;br /&gt;  If LCase(Mime1.PartContentType(i)) = "text/html" Then&lt;br /&gt;    'Again, read from Mime1.PartDecodedString(i) to access&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  'External attachments show up with a content-disposition of "attachment"&lt;br /&gt;  If LCase(Mime1.PartContentDisposition(i)) = "attachment" Then&lt;br /&gt;    'Mime1.PartFilename(i) will contain the name of the file.&lt;br /&gt;    'To actually get the file itself, you must read the value of &lt;br /&gt;    'Mime1.PartDecodedFile(i). Doing so will return the name of a &lt;br /&gt;    'temporary file that contains the file data; this file will not&lt;br /&gt;    'be created until PartDecodedFile is queried. Once you have the name&lt;br /&gt;    'of a temporary file with the data, simply rename the file to the &lt;br /&gt;    'location and name of where you wish to save the file&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  'Inline data that are sent in the email will generally have a&lt;br /&gt;  'content-ID header and a content-disposition of "inline"&lt;br /&gt;  If LCase(Mime1.PartContentID(i)) &lt;&gt; "" Then&lt;br /&gt;    'Treat these cases as you would external attachments. The HTML that&lt;br /&gt;    'is returned will include CID tags that should correspond with this&lt;br /&gt;    'data, or you can simply save the images as you would an attachment&lt;br /&gt;    'if you do not wish to support HTML&lt;br /&gt;  End If&lt;br /&gt; Next&lt;br /&gt;End Sub&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-3424649288787027649?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/3424649288787027649/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=3424649288787027649' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3424649288787027649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3424649288787027649'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/pop_4400.html' title='POP で受け取ったメールのデコード方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-8594186110549549728</id><published>2008-04-11T15:04:00.003+09:00</published><updated>2008-04-11T15:24:08.165+09:00</updated><title type='text'>POP 経由でメールのヘッダだけを取得する方法</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=10109701"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=10109701&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;POP コントロールの概要ページにあるように、メッセージのヘッダだけを取得するにはどうすればよいですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;メッセージのヘッダだけを取得するために、RetrieveHeaders メソッドが用意されています。このメソッドを呼び出すことで、一連のヘッダが Header イベントまたは MessageHeaders プロパティを通じてアクセスできます。&lt;br /&gt;&lt;br /&gt;ご利用頂いている製品が古いバージョンのものである場合は、MaxLines プロパティに 1 を設定することで、Transfer イベントを通じてメッセージの最初の1行を取得するとともに、Headers イベントを通じて全てのヘッダを取得できます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-8594186110549549728?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/8594186110549549728/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=8594186110549549728' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8594186110549549728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8594186110549549728'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/pop_11.html' title='POP 経由でメールのヘッダだけを取得する方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-7386927776960503312</id><published>2008-04-10T22:58:00.002+09:00</published><updated>2008-04-10T23:07:24.339+09:00</updated><title type='text'>POP サーバからメッセージが削除できない</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=03039801"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=03039801&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;POP コンポーネントでのメッセージ削除で困っています。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;変更を反映するには、Disconnect メソッドを呼び出してサーバから切断する必要があります。また、Reset() メソッドを呼び出すことにより、全ての変更を復旧することができます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-7386927776960503312?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/7386927776960503312/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=7386927776960503312' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7386927776960503312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7386927776960503312'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/pop.html' title='POP サーバからメッセージが削除できない'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-6272326004841785791</id><published>2008-04-10T16:04:00.005+09:00</published><updated>2008-04-23T11:29:07.631+09:00</updated><title type='text'>FTP サーバにファイルをアップロードする際に、パーミッションを変更できますか？</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=07180003"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=07180003&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;FTP サーバに対しファイルをアップロードする際にパーミッションの設定値も変更したいのですが、可能ですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;はい、問題の FTP サーバがパーミッション変更機能をサポートしているのであれば可能です。パーミッションの変更は以下のように行います:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color: black"&gt;FTP1.Command = "SITE chmod " + "&amp;lt;permission mask&amp;gt;" + " " + filename&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;(ここで &amp;lt;permission mask&amp;gt; はchmod に対する引数。例えば "755"。)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-6272326004841785791?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/6272326004841785791/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=6272326004841785791' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6272326004841785791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6272326004841785791'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ftp_4482.html' title='FTP サーバにファイルをアップロードする際に、パーミッションを変更できますか？'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-8599122270544128265</id><published>2008-04-10T15:54:00.006+09:00</published><updated>2008-04-10T16:03:48.272+09:00</updated><title type='text'>あるファイルが FTP サーバ上に存在するかどうかを調べる方法</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09260705"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09260705&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! V8&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;あるファイルが FTP サーバ上に存在するかどうかを調べるにはどうすればよいですか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;IP*Works! V8 製品には FileExists プロパティがあります。このプロパティを使用することで、RemoteFile に指定されたファイルがサーバ上に存在するかどうかをチェックすることができます。初期のバージョンの IP*Works! 製品では同じ機能を RemoteFile にファイル名を設定し、DirectoryList コマンドを実行してその結果発生する DirList イベントをチェックして指定されたファイルが存在するかどうかを確認することで行っていました。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-8599122270544128265?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/8599122270544128265/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=8599122270544128265' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8599122270544128265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8599122270544128265'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ftp_10.html' title='あるファイルが FTP サーバ上に存在するかどうかを調べる方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-7017596689804335943</id><published>2008-04-09T08:45:00.000+09:00</published><updated>2008-04-09T08:45:13.188+09:00</updated><title type='text'>FTP エラー: '425 Can't open data connection'</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=03239801"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=03239801&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;ディレクトリ一覧を取得あるいはデータを転送しようとすると、FTP サーバが "425 Can't open data connection" (データコネクションをオープンできません) というエラーを返します。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;この現象は、ファイアウォールがコネクションの作成を許していない場合は発生します。FTP では2つのコネクション (メインコネクションとデータ転送用コネクション) を使用するため、ファイアウォールではこれが問題となります。&lt;br /&gt;&lt;br /&gt;既定値では、FTP コンポーネントの Passive プロパティは false になっています。これは、当該コンポーネントがアクティブモードにあることを意味します。この場合、データ転送用の TCP コネクションはサーバからクライアントに向けてオープンされます。そして、クライアントがファイアウォールの内側にある場合、サーバはコネクションを張ることができないでしょう。このような場合は、Passive プロパティを true に設定してパッシブモードを使用するようにします。&lt;br /&gt;&lt;br /&gt;そして FTP サーバが正しく設定されているのであれば - パッシブデータコネクションで使用するポート範囲は、ファイアウォールが当該ポート範囲宛に届く外部からの TCP コネクションを許すようにファイアウォールとの間で調整しておくようにします。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-7017596689804335943?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/7017596689804335943/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=7017596689804335943' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7017596689804335943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7017596689804335943'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ftp-425-cant-open-data-connection.html' title='FTP エラー: &apos;425 Can&apos;t open data connection&apos;'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-3597947764728590082</id><published>2008-04-08T21:49:00.002+09:00</published><updated>2008-04-08T22:25:58.429+09:00</updated><title type='text'>FTP サーバが ''500 command unrecognized'' という応答を返します。</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09039705"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09039705&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;FTP コンポーネントを使用してファイルをアップロードすると、リモート側 FTP サーバがコマンドを認識できないと文句を言います。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;この現象は、FTP コンポーネントが送信するコマンドをサーバ側が解釈できない場合に発生します。通常これはサーバが特定のコマンドをサポートしていないか、あるいは当該コマンドを無効に設定していることが原因です。コンポーネントが何を送信しているかを確認するには、PITrail イベントをご利用いただけます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-3597947764728590082?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/3597947764728590082/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=3597947764728590082' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3597947764728590082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/3597947764728590082'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ftp-500-command-unrecognized.html' title='FTP サーバが &apos;&apos;500 command unrecognized&apos;&apos; という応答を返します。'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-7318777751197461124</id><published>2008-04-04T22:22:00.004+09:00</published><updated>2008-04-08T21:37:07.958+09:00</updated><title type='text'>アクティブモード転送における FTP ポート範囲について</title><content type='html'>&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09260706"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09260706&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works! V8&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;時として FTP クライアントはファイアウォールを通過するためにアクティブモード転送において特定の範囲のポートを使用する必要がある&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;既定値では FTP コンポーネントはデータ転送にパッシブモードを使用します。これは通常の必須要件です。しかし時にはアクティブモードのデータ転送が必要になる場合がありますが、これはクライアント側のファイアウォールでしばしば問題を引き起こします。弊社 FTP コンポーネントでは、PortRange 構成設定を使用することである一定のポート範囲を指定しアクティブモードのデータ転送を行うことができます:&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color: black"&gt;ftp.Config("PortRange=5000-5005");&lt;br /&gt;ftp.ListDirectory();&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-7318777751197461124?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/7318777751197461124/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=7318777751197461124' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7318777751197461124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7318777751197461124'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/ftp.html' title='アクティブモード転送における FTP ポート範囲について'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-5441945813582689771</id><published>2008-04-04T15:40:00.006+09:00</published><updated>2008-04-04T16:26:30.020+09:00</updated><title type='text'>NAT ファイアウォールを通して FTPS を使用したい</title><content type='html'>[&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09260707"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09260707&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;NAT ファイアウォールを通して FTPS を使用したい&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;NAT ファイアウォールを通しての FTPS の使用には問題があります。なぜならインターネットプロトコルの多くとは異なり、FTP はソケットコネクションを1つではなく2つ必要とするからです。第1のコネクションは制御コネクション (control connection) と呼ばれるもので、クライアントとサーバの間のコマンドとその応答は全てこのコネクション上で交わされます。第2のコネクションはデータコネクション (data connection) と呼ばれるもので、データ (ファイルおよびファイル一覧) を交換するためのものです。&lt;br /&gt;&lt;br /&gt;そしてデータコネクションを設定するには、アクティブモードとパッシブモードの2つの方法があります。アクティブモードでは、データコネクションはサーバからクライアントに向けてオープンされます (つまりクライアントはサーバからのコネクションをリスンすることになります)。一方パッシブモードは丁度その反対で、クライアント側からサーバに対しコネクションをオープンします (つまりサーバ側がクライアントからのコネクションをリスンすることになります)。このパッシブモードが、特に SSL 接続のためには必要となります。&lt;br /&gt;&lt;br /&gt;通常の暗号化されていないパッシブモードにおける FTP データコネクションは次のように構成されオープンされます:&lt;br /&gt;&lt;br /&gt;&lt;code style="color: black"&gt;CLIENT → SERVER: PASV&lt;br /&gt;SERVER → CLIENT: 227 OK, Entering Passive Mode (193,12,1,121,15,6)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;クライアントが PASV コマンドを送信するとサーバは "OK" と応答し、クライアントに対し自身の IP アドレスとリスンしているポート番号を通知します。カッコ内の最初の4オクテットはドット表記の IP アドレス (193.21.1.121) を表し、最後の2オクテットがポート番号 (15 × 256 + 6) = 3846 を表しています。この時点でサーバはデータコネクションをリスンしており - クライアントは次のステップとして双方向のデータ転送を開始できるように当該コネクションを張ることが可能となります。&lt;br /&gt;&lt;br /&gt;さて、ここで NAT (Network Address Tranlation) を間に挟んでみましょう (CLIENT → NAT → SERVER)。この場合、通信は次のようになるでしょう。&lt;br /&gt;&lt;br /&gt;&lt;code style="color: black"&gt;CLIENT--&gt;NAT: PASV&lt;br /&gt;NAT--&gt;SERVER: PASV&lt;br /&gt;SERVER--&gt;NAT: 227 OK, Entering Passive Mode (10,0,1,121,15,6)&lt;br /&gt;NAT--&gt;CLIENT: 227 OK, Entering Passive Mode (193,21,1,121,15,6)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;これを見てお分かりのように、NAT は PASV コマンドに対するサーバの応答を覗き見しなければなりません。つまり、NAT はサーバが 10.0.1.121 のポート 3846 でリスンしていることを理解します。しかしこの例では、サーバはクライアントからは到達不可能なプライベートアドレスになっています。そして、NAT にはクライアントと通信可能なパブリックアドレスが割り当てられています。従って、NAT はサーバの応答を自分自身の応答で置き換えて、クライアントに対し NAT のアドレスとポートに対してコネクションをオープンするよう伝えます。そしてその次には当然、NAT がそのアドレスとポートに対するコネクションを受け取ったらその接続を FTP サーバの IP アドレスとポートに対しフォワードすることになります。&lt;br /&gt;&lt;br /&gt;ここで別の厄介な問題が発生します。SSL ではどうなるのでしょうか。NAT は PASV 応答を覗き見することも、それを書き直すこともできません。従ってクライアントはファイアウォールの向こう側の、アクセス不可能な IP アドレスに対するデータコネクションを開こうとしてしまうことになります。&lt;br /&gt;&lt;br /&gt;ではこれに対する解決法はあるのでしょうか？ FTP サーバによっては、パッシブモード時に使用する IP アドレス (およびポート範囲) を管理者が指定できるようになっているものがあります。この場合、管理者はそのパブリック IP アドレスを設定することになるでしょう。また NAT によっては特定のポート範囲を自動的に固有のマシン/ポートにフォワードするよう管理者が設定できるものもあります。従って管理者がこのポート範囲を当該 FTP サーバが使用するパッシブポート範囲に一致するよう設定できれば、問題は解決するでしょう。別の解決法としては、EPSV (Extended Passive Mode) コマンドを使用するように設定する方法があります。この EPSV コマンドはポート番号のみを送信し、IP アドレスは制御コネクションの IP アドレスをそのまま使用します。IP*Works! の FTPS コントロールは UseEPSV 構成オプションをサポートしており、これを TRUE に設定することで対応可能です。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-5441945813582689771?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/5441945813582689771/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=5441945813582689771' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5441945813582689771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/5441945813582689771'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/04/nat-ftps.html' title='NAT ファイアウォールを通して FTPS を使用したい'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-7603171237522116548</id><published>2008-03-27T22:45:00.012+09:00</published><updated>2008-03-31T09:53:21.193+09:00</updated><title type='text'>特定のマシンの MAC アドレスを得る方法</title><content type='html'>[&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09260713"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09260713&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;特定のマシンの MAC アドレスを取得するにはどうすれば良いでしょうか？&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;まず、IPInfo コンポーネントの GetMAC メソッドを用いる方法があります。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color: black"&gt;string macaddress = ipinfo.GetMAC("10.0.1.1");&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;【訳註: GetMAC メソッドは Windows 製品でのみ利用可能です。また、取得可能な対象は、同一 LAN 上の同一サブネットに属する機器に限定されます。】&lt;br /&gt;&lt;br /&gt;別の方法としては、SNMP を用いる方法があります。この場合はまず相手デバイス上のインターフェイス数を get リクエストで取得します (ifEntryNum - 1.3.6.1.2.1.2.1)。次に各インターフェイスに対してその MAC アドレスを get リクエストで取得します (ifPhysAddress - 1.3.6.1.2.1.2.2.1.6)。この方法を使う場合、(ifEntry テーブルには幾つか子ノードを持っており) 当該インターフェイスについて MAC アドレス以外にも当該デバイスのタイプ (ifEntryType - 1.3.6.1.2.1.2.2.1.3) 等様々な情報を取得することができます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-7603171237522116548?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/7603171237522116548/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=7603171237522116548' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7603171237522116548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/7603171237522116548'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/03/mac.html' title='特定のマシンの MAC アドレスを得る方法'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-6582477904441462037</id><published>2008-03-21T11:32:00.008+09:00</published><updated>2008-03-21T11:46:55.382+09:00</updated><title type='text'>HTML ページ内における OCX  ライセンシング</title><content type='html'>[&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=09229702"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=09229702&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;OCX を使用して HTML ページを作成していますが、ユーザ側で Internet Explorer を使用して当該ページを表示すると About ダイアログが表示されてしまいます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;Internet Explorer 内の ActiveX コンポーネントにライセンスを付与するためには、Microsoft の LPK ツールを使用する必要があります。また、lpk ファイルは license.lpk という名称でなければなりません。&lt;br /&gt;&lt;br /&gt;もし実際に動く実例が必要な場合は、弊社サポートまで email にてご連絡ください。&lt;br /&gt;&lt;br /&gt;IP*Works! 製品の ActiveX コンポーネントは ActiveX Control Licensing Mechanisum を実装しています。Web 上でランタイムライセンスを付与されたコントロールを配布するためには、適切なランタイムライセンスファイル (LPK ファイル) を生成し、ウェブページ内に含める必要があります。そうでないと例え当該コントロールをダウンロードしインストールしたとしても当該コントロールはユーザ側マシンでは表示されません。コントロールに対するランタイムライセンスは、当該コントロールに対する有効な開発者ライセンスを持つ人のみが生成することができます。ウェブページにランタイムライセンスを付与済みのコントロールを含める具体的な方法につきましては、ActiveX Software Development Kit (SDK) の「Licensing ActiveX Controls」節を参照して下さい。ActiveX SDK のダウンロードは &lt;a href="http://www.microsoft.com/"&gt;http://www.microsoft.com/&lt;/a&gt; から行うことができます。以下に SDK 文書からの抜粋で、ウェブページにランタイムライセンス付与済みにコントロールを配布するための方法を示しておきます。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;ライセンスパッケージは、既存の &amp;lt;OBJECT&gt; タグ (要素) を使用して HTML ファイルに記載されなければなりません。ライセンスパッケージは、ランセンスマネージャオブジェクトにより解釈され、HTML 上の他のコントロールにライセンスを受け渡します。ライセンスパッケージオブジェクトは、当該ライセンスを必要とする全てのオブジェクトより前に当該 HTML ページに埋め込まれていなければなりません。HTML へのライセンスパッケージ埋め込みのための構文は以下のようになります。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;code style="color:black"&gt;      &amp;lt;OBJECT CLASSID = "clsid:5220cb21-c88d-11cf-b347-00aa00a28331"&gt;&lt;br /&gt;     &amp;lt;PARAM NAME="LPKPath" VALUE="relative URL to .LPK file"&gt;&lt;br /&gt;     &amp;lt;/OBJECT&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;注意: Internet Explorer 3.0 は、ある HTML ページ内の最初のライセンスパッケージのみを有効とみなします。もし当該ページ内で複数のコントロールを使用しているにもかかわらず、最初に見つかったライセンスパッケージにそれらに対するライセンスが含まれていない場合、該当するコントロールはインスタンス化に失敗するでしょう。&lt;/blockquote&gt;&lt;br /&gt;ActiveX SDK には自動的に LPK ファイルを生成するユーティリティ (LPK_TOOL.EXE) が含まれています。&lt;br /&gt;&lt;br /&gt;詳細に関しては以下の URL を参照して下さい。&lt;br /&gt;&lt;a href="http://www.microsoft.com/workshop/components/activex/licensing.htm"&gt;http://www.microsoft.com/workshop/components/activex/licensing.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-6582477904441462037?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/6582477904441462037/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=6582477904441462037' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6582477904441462037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6582477904441462037'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/03/html-ocx.html' title='HTML ページ内における OCX  ライセンシング'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-1157938363634194753</id><published>2008-03-19T16:39:00.008+09:00</published><updated>2008-03-19T16:53:09.378+09:00</updated><title type='text'>C++ Builder におけるライセンスについて</title><content type='html'>[&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=05120501"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=05120501&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! S/MIME&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;C++ Builder Edition のライセンスを購入済みですが、未だに試用版の "About" メッセージダイアログが表示されます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;C++ Builder で動的にコンポーネントを生成しているのであれば、以下のコードをご利用ください。&lt;br /&gt;&lt;pre class="SampleText"&gt;&lt;blockquote&gt;&lt;code style="color:black"&gt;TipwIPPort* ipp;&lt;br /&gt;ipp = new TipwIPPort(NULL, TRUE);&lt;br /&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;br /&gt;原則として、コンストラクタの第2引数には TRUE を指定すべきです。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-1157938363634194753?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/1157938363634194753/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=1157938363634194753' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1157938363634194753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/1157938363634194753'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/03/c-builder.html' title='C++ Builder におけるライセンスについて'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-6430112906053521908</id><published>2008-03-19T15:41:00.006+09:00</published><updated>2008-03-19T15:56:07.620+09:00</updated><title type='text'>.NET Windows サービスアプリケーションのライセンス</title><content type='html'>[&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=04300306"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=04300306&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;/n software Red Carpet Subcription&lt;/li&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! EDI&lt;/li&gt;&lt;li&gt;IP*Works! EDI AS2 Connector&lt;/li&gt;&lt;li&gt;IP*Works! S/MIME&lt;/li&gt;&lt;li&gt;IP*Works! S/Shell&lt;/li&gt;&lt;li&gt;IP*Works! Secure SNMP&lt;/li&gt;&lt;li&gt;IP*Works! SSH&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;li&gt;IP*Works! Zip&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;Windows サービスアプリケーション内でもコンポーネントを利用できますか？&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;はい、ご利用いただけます。ただしデモ版をご利用の場合、サービスのプロパティを変更してライセンスダイアログを表示できるようにしておく必要があります。これを行うには以下のようにします。&lt;br /&gt;&lt;ol&gt;&lt;li&gt;MMC を起動します。&lt;/li&gt;&lt;li&gt;"Services" スナップインを追加します。&lt;/li&gt;&lt;li&gt;あなたの作成したサービスを探し、右クリックして "properties" を選択します。&lt;/li&gt;&lt;li&gt;"Log On" タブをクリックします。&lt;/li&gt;&lt;li&gt;"Allow service to interact with desktop" と書かれたチェックボックスをチェックします。&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;これにより当該サービスからのモーダルメッセージボックスがデスクトップに表示されるようになります。&lt;br /&gt;&lt;br /&gt;弊社の .NET Edition のコンポーネントは Microsoft 社の .NET ライセンシング・スキームを使用しています。これはつまり、ライセンス済みのコンポーネントをフォームにドロップすると Visual Studio .NET は自動的に "licenses.licx" という名称のファイルを生成し、該当するプロジェクトに埋め込みリソース (embedded resource) として自動的に追加することを意味します。Visual Studio .NET 内でライセンス済みコンポーネントが動作するためには、この licx ファイルが必要となります。&lt;br /&gt;&lt;br /&gt;あなたのアプリケーションがフォームを使用しない、あるいはコンポーネントを動的に生成するものである場合は、licenses.licx を手で作成することもできます。このファイルの各行は、それぞれがライセンス済みコンポーネント1個に対応しています。そしてそれぞれの行には当該コンポーネント名とライブラリ名が書かれています。例えば、あなたが利用するコンポーネントが nsoftware.IPWorks.dll の NNTP コンポーネントであれば、licx ファイルは次のようになっているでしょう:&lt;br /&gt;&lt;br /&gt;nsoftware.IPWorks.Nntp, nsoftawre.IPWorks&lt;br /&gt;&lt;br /&gt;なお既定値では Visual Studio はこれ以外の情報も付加します。もしライセンス上の問題が発生した場合はそれらの余分な情報を除去し、上のように2つの要素のみが含まれるようにしてみて下さい。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;重要な注意事項:&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;licx ファイルは必ず "licenses.licx" という名称でなければなりません。また、当該プロジェクトに埋め込みリソースとして含まれていなければなりません。&lt;/li&gt;&lt;li&gt;開発対象がクラスライブラリである場合は、当該クラスライブラリを参照する側のプロジェクトにも .lixc ファイルが埋め込みリソースとして含まれている必要があり、かつ参照する側は有効なライセンスがインストールされているマシンでコンパイルされる必要があります。&lt;/li&gt;&lt;li&gt;そして最後に注意する点としては、Visual Studio .NET には不具合があり、当該プロジェクトの名称に空白文字 " " が含まれていると licx ファイルを正しくマッチングすることができません。従ってもしプロジェクト名に空白文字が含まれている場合は、それらを除去するか別の文字に置換してからプロジェクトを再ビルドしてみて下さい。&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-6430112906053521908?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/6430112906053521908/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=6430112906053521908' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6430112906053521908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6430112906053521908'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/03/net-windows.html' title='.NET Windows サービスアプリケーションのライセンス'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-8043795400085133996</id><published>2008-03-19T11:09:00.012+09:00</published><updated>2008-03-19T15:53:48.620+09:00</updated><title type='text'>.NET におけるライセンスについて</title><content type='html'>[&lt;a href="http://www.nsoftware.com/kb/showentry.aspx?entry=01020301"&gt;http://www.nsoftware.com/kb/showentry.aspx?entry=01020301&lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;該当製品&lt;/p&gt;&lt;ul&gt;&lt;li&gt;IBiz Amazon Integrator .NET Edition&lt;/li&gt;&lt;li&gt;IBiz E-Banking Integrator .NET Edition&lt;/li&gt;&lt;li&gt;IBiz E-Payment Integrator&lt;/li&gt;&lt;li&gt;IBiz FDMS Integrator .NET Edition&lt;/li&gt;&lt;li&gt;IBiz FedEx Integrator .NET Edition&lt;/li&gt;&lt;li&gt;IBiz Paymentech Integrator .NET Edition&lt;/li&gt;&lt;li&gt;IBiz PayPal Integrator .NET Edition&lt;/li&gt;&lt;li&gt;IBiz QuickBooks Integrator&lt;/li&gt;&lt;li&gt;IBiz USPS Integrator .NET Edition&lt;/li&gt;&lt;li&gt;IP*Works!&lt;/li&gt;&lt;li&gt;IP*Works! S/MIME&lt;/li&gt;&lt;li&gt;IP*Works! S/Shell&lt;/li&gt;&lt;li&gt;IP*Works! Secure SNMP&lt;/li&gt;&lt;li&gt;IP*Works! SSL&lt;/li&gt;&lt;li&gt;IP*Works! Zip&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;現象:&lt;/p&gt;&lt;br /&gt;.NET エディションの製品ライセンスを購入したにもかかわらず、"About" ダイアログが表示されてしまいます。&lt;br /&gt;&lt;br /&gt;&lt;p class="headline"&gt;解決法:&lt;/p&gt;&lt;br /&gt;弊社の .NET Edition コンポーネントは Microsoft 社の .NET ライセンシング・スキームを使用しています。これはつまり、ライセンス済みのコンポーネントがフォーム上にドラッグ＆ドロップされた場合は常に Visual Studio.NET は自動的に "licenses.licx" という名称のファイルを作成し、当該プロジェクトに埋め込みリソース (embedded resource) として自動追加されることを意味します。Visual Studio .NET 上でライセンス済みコンポーネントが動作するには、この licx ファイルが必要となります。&lt;br /&gt;&lt;br /&gt;なお、フォームを使用しない場合、あるいはコンポーネントを動的に生成して使用する場合は、licenses.licx ファイルを手で作成することができます。このファイルはライセンス済みの各コンポーネントに対応する行から構成されており、各行にはコンポーネント名とライブラリ名が格納されます。例えば nsoftware.IPWorks.dll の NNTP コンポーネントを使用するのであれば、licx ファイルは以下のようになるでしょう:&lt;br /&gt;&lt;br /&gt;nsoftware.IPWorks.Nntp, nsoftware.IPWorks&lt;br /&gt;&lt;br /&gt;既定値では Visual Studio は他の情報 (バージョンやカルチャ等) も記載しますが、ライセンスで問題が発生する場合はこれらの付帯情報を削除して上記2項目のみが含まれるようにすべきです。&lt;br /&gt;&lt;br /&gt;&lt;b&gt;重要事項:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;licx ファイルは "licenses.licx" という名称でなければならず、かつ当該プロジェクトに埋め込みリソース (embedded resource) として含まれなければなりません。&lt;/li&gt;&lt;li&gt;クラスライブラリを開発する場合は、参照する側のプロジェクトにもこのlicx ファイルが埋め込みリソースとして含まれていなければならず、かつ有効なライセンスがインストールされているマシン上でコンパイルされなければなりません。&lt;/li&gt;&lt;li&gt;そして最後にもうひとつ注意すべき点があります。Visual Studio には、プロジェクト名称に空白文字 (" ") が含まれている場合、正しく licx ファイルを対応付けることができないという問題点があります。プロジェクト名に空白文字が含まれている場合はそれらを削除するか、別の文字に置換してからプロジェクトをリビルドしてください。&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-8043795400085133996?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/8043795400085133996/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=8043795400085133996' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8043795400085133996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/8043795400085133996'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/03/net.html' title='.NET におけるライセンスについて'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-713643341058868604.post-6107605329046076462</id><published>2008-03-19T09:10:00.003+09:00</published><updated>2008-03-19T09:22:51.069+09:00</updated><title type='text'>本アーカイブについて</title><content type='html'>このブログには、&lt;a href="http://www.nsoftware.com/"&gt;弊社&lt;/a&gt;で提供するナレッジベースを個人的に日本語化したものを随時掲載していきます。&lt;br /&gt;&lt;br /&gt;また、ここに投稿される日本語訳はあくまでも私が個人的に訳したものであり、&lt;a href="http://www.nsoftware.com/"&gt;/n software inc.&lt;/a&gt; により公式に認定されたものではなく内容の正確性や正当性を保証するものではありません。&lt;br /&gt;&lt;br /&gt;内容は随時チェックしているつもりですが、日本語訳掲載後にオリジナルのデータベースが更新されることもあります。内容に違いがある場合はオリジナルの英語版が優先されます。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/713643341058868604-6107605329046076462?l=nsj-knowledgebase.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nsj-knowledgebase.blogspot.com/feeds/6107605329046076462/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=713643341058868604&amp;postID=6107605329046076462' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6107605329046076462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/713643341058868604/posts/default/6107605329046076462'/><link rel='alternate' type='text/html' href='http://nsj-knowledgebase.blogspot.com/2008/03/blog-post.html' title='本アーカイブについて'/><author><name>nsj.blog</name><uri>http://www.blogger.com/profile/05827712044032554328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
