Httpクライアント
Http Client 
 
 
  
Httpクライアントとして動作させる方法をいくつかメモしておきます。
  
簡単な取得
	
	
	 //簡単な取得 googleのトップページを取得  S hr=##class(%Net.HttpRequest).%New() 
	 S hr.Server="www.google.co.jp" 
	 S st=hr.Get("/") 
	 if st 
	{    D hr.HttpResponse.OutputToDevice() 
	 } else { 
	   D $System.Status.DisplayError(st) 
	 }  
動作結果例  (hr.HttpResponse.OutputToDevice()の結果が表示されています)
 
	HTTP/1.1 200 OK 
	CACHE-CONTROL: private, max-age=0 
	CONNECTION: close 
	CONTENT-TYPE: text/html; charset=Shift_JIS 
	 (略) 
	indow.addEventListener)window.addEventListener("load",a,false);else if(window.attachEvent)window.attachEvent("onload",a);google.timers.load.t.prt=(new 
	Date).getTime();})();</script> 
 
Proxy経由で取得
	
	 //Proxy経由で取得  S hr=##class(%Net.HttpRequest).%New() 
	 S hr.Server="www.google.co.jp" 
	  S hr.ProxyServer =
	"プロキシサーバーアドレス"  S hr.ProxyPort =
	"プロキシサーバーポート"
   S st=hr.Get("/") 
	 if st 
	{   D hr.HttpResponse.OutputToDevice() 
	 }else{ 
	  D $System.Status.DisplayError(st)
	  } 
 
Proxy + SSLで取得
Cache'2009以降でのみ動作するようです。
 
	
	 //Proxy + SSLで取得 (Cache'2009以降)  S hr=##class(%Net.HttpRequest).%New() 
	 S hr.Server="プロキシサーバーポート" 
	  S hr.ProxyServer="プロキシサーバーアドレス" 
	 S hr.ProxyPort="プロキシサーバーポート" 
	 S hr.ProxyHTTPS=1 
	 S hr.ProxyTunnel=1 
	 S hr.SSLConfiguration =
	"https" //構成マネージャでのSSL/TLS構成名
   S st=hr.Get("/accounts/ServiceLogin") 
	 if st 
	{   D hr.HttpResponse.OutputToDevice() 
	 }else{ 
	  D $System.Status.DisplayError(st)
	  } 
SSLでページを取得する場合は、事前にシステム管理ポータル→セキュリティ管理→SSL/TLS構成→新規構成の作成 で、SSL構成を作成しておく必要があります。
とりあえずページを取得するだけであれば、以下のような設定で動作します。
  
 
SSL+ベーシック認証で取得
	
	 //SSL+ベーシック認証で取得  S hr=##class(%Net.HttpRequest).%New() 
	 S hr.Server="192.168.123.10" 
	 S hr.SSLConfiguration =
	"https" //構成マネージャでのSSL/TLS構成名
   //ベーシック認証 
	 S hr.Username="認証ユーザー名" 
	 S hr.Password="認証パスワード" 
	 S st=hr.Get("/mob/?moid=128") 
	 if st 
	{   D hr.HttpResponse.OutputToDevice() 
	 }else{ 
	  D $System.Status.DisplayError(sts)
	  } 
	VMware WebServiceへの接続に使用しました。  
 |