渡された URL から xml ドキュメントを取得するコードを次に示します。
var request = WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = 0;
var response = request.GetResponse(); // Error is thrown here
URL をコピーしてブラウザに貼り付けると、問題なく動作します。
返される完全な xml は次のとおりです。
<Model>
<Item>
<Id>7908</Id>
</Item>
</Model>
xml の形式が間違っていませんか? コンテンツ タイプを application/xml に変更しようとしましたが、それでもこのエラーが発生します。
編集============================================== ======
このコードを使用して webclient を使用しようとしています:
using (var wc = new System.Net.WebClient())
{
wc.Headers["Method"] = "GET";
wc.Headers["ContentType"] = "text/xml;charset=\"utf-8\"";
wc.Headers["Accept"] = "text/xml, */*";
wc.Headers["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; .NET CLR 3.5.30729;)";
wc.Headers[HttpRequestHeader.AcceptLanguage] = "en-us";
wc.Headers["KeepAlive"] = "true";
wc.Headers["AutomaticDecompression"] = (DecompressionMethods.Deflate | DecompressionMethods.GZip).ToString();
var response = wc.DownloadString(url);
}
応答文字列が空です!!! これが結果を返さないのに、ブラウザに URL を貼り付けると xml が返される理由はありますか?