2011-10-27 22 views

答えて

19

が作る要求を理解するために、このようなXMLパーサまたは何かをする必要があります知っている私は前にそれでの経験を持っていないので、私はJSONについて少し困惑している、XMLのもの HTTPリクエストは、カスタマイズしたくない場合は非常に簡単です:への1つのメソッド呼び出し。例:

var client = new WebClient(); 
string html = client.DownloadString("http://www.google.com"); 
Console.WriteLine(html); 

リンク先のドキュメントごとに正しいURLを作成する必要があります。

上記の例のコードを使用してAPIと話す場合、html(実際は応答データです)には、XMLまたはJSONのいずれかが文字列として含まれます。これを解析して、他のタイプのオブジェクト・ツリーにする必要があります。そうすれば、応答で作業できるようになります。あなたがHttpWebRequestHttpWebResponseオブジェクトを検索したいと思うhttp://www.codeproject.com/KB/WCF/RestServiceAPI.aspx

+0

XMLを使って試してみると、ある時点ではこのアプローチはうまくいかないでしょう。最初の数文字としてバイトオーダーマークが得られ、XML Paserは正しくデシリアライズしません。 –

+0

@DarrelMiller:エンコーディングを指定するための 'Content-Type'ヘッダがある場合、なぜWebサーバはBOMを返しますか?たとえそれがあっても、単純な 'StartsWith' /' SubString'コンボは非常に簡単に回避できます。 – Jon

+0

問題が何であるか知っていれば修正するのは難しくありませんが、webclient.DownloadStringを使用することを選択したほとんどの人は通常そうしません! –

0

あなたは、WCFのREST APIを実装することができます。これらは、実際にHTTP要求を行うオブジェクトになります。

リクエストとレスポンスには、あなたがリンクしたViralHeatのAPIごとのボディにXMLとJSONが含まれます。

6

WebClientを示唆している以外にも、JetBrainsのHadi Hariri氏がEasyHttpを見ることができます。あなたはhttps://github.com/hhariri/EasyHttpのReadMeからの要約でそれを見つけることができます: -

EasyHttpサポートHTTPクライアントを使用するのは簡単:

  • HEAD、PUT、DELETE、GET、POST
  • クッキーを
  • 認証
  • 動的で静的なタイピング
  • XML、JSONおよびWWW-Url形式のエンコード/デコード
  • ファイルアップロードの両方v IA PUTやPOST(マルチパート/ FORMDATA)
  • 他のいくつかの小ぎれいな機能....
1

このhttp://www.nuget.org/List/Packages/HttpClientは前進し、Microsoftの戦略的なHTTPClientのです。近い将来、このライブラリがMicrosoftのすべてのプラットフォームで実装されることを期待しています。

+0

これはMicrosoftのすべてのプラットフォームでどのように実装されるのか、どのように分かりますか?リンク? –

+1

@モンタナハーキン私は知っていたとは言わなかった:-)。私は言った、 "私は期待する"。このサポートを有効にするように設計されていることはわかっています。そのため、Windowsデスクトップに固有の機能(WinINetProxyなど)はWebRequestHandlerにあり、デフォルトのHttpClientHandlerにはありません。私はまた、建築家の一人からWinRT上で動作するように言われました。 –

関連する問題