2010-06-10

C++/CLIでHTTPアクセス

以前、ツイッタークライアントの記事で書いた内容と同じですが、C++/CLIでHTTPアクセスする方法として2つ書いておきます。

HttpWebRequestを使うならこちら
  1.   String^ result;  
  2.   String^ url = "ここにURLを書く";  
  3.   
  4.  //IDとパスワードを設定するならここで  
  5.   NetworkCredential^ nc = gcnew NetworkCredential(id,password);    
  6.   try{  
  7.     HttpWebRequest^ request = (HttpWebRequest^)HttpWebRequest::Create(url);  
  8.     request->Credentials=nc;  
  9.     WebResponse^ response = request->GetResponse();  
  10.     StreamReader^ reader =     gcnew StreamReader(response->GetResponseStream());  
  11.     result = reader->ReadToEnd();  
  12.     reader->Close();  
  13.     response->Close();  
  14. }catch(System::Net::WebException^ e){  
  15.       //ここでなんらかのエラー処理をする  
  16.       System::Diagnostics::Debug::WriteLine("エラー:"+ e->Response->ToString());  
  17.       return "";  
  18.   }  

WebClientを使うなら、こんな感じです。
  1.     String^ result;  
  2.     String^ url = "ここにURLを書く";  
  3.       try{  
  4.         WebClient^ client = gcnew WebClient();  
  5.         client->Credentials = nc;  
  6.   
  7.         client->Encoding = Encoding::UTF8;  
  8.   
  9.         array<byte>^ data =client->DownloadData(url);  
  10.         String^ result =Encoding::UTF8->GetString(data);  
  11.         return result;  
  12.   
  13.     }catch(System::Net::WebException^ e){  
  14.         //ここでなんらかのエラー処理をする  
  15.         System::Diagnostics::Debug::WriteLine("エラー:"+ e->Response->ToString());  
  16.         return "";  
  17.     }  
  18. </byte>  


0 件のコメント:

コメントを投稿