私は、テキストファイルからテキストを読み取り、JSON形式の文字列(文字列変数に保持)に変換し、POST JSON .NET Framework 4を使用しています。
私の苦労は、C#を使用してリクエストを作成し、レスポンスを取得することです。 必要な基本的なコードは何ですか?コード内のコメントが役立ちます。私がこれまでに得たものは以下のとおりですが、私が正しい軌道に乗っているかどうかはわかりません。
//POST JSON REQUEST TO API
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("POST URL GOES HERE?");
request.Method = "POST";
request.ContentType = "application/json";
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] bytes = encoding.GetBytes(jsonPOSTString);
request.ContentLength = bytes.Length;
using (Stream requestStream = request.GetRequestStream())
{
// Send the data.
requestStream.Write(bytes, 0, bytes.Length);
}
//RESPONSE HERE
WebClientクラスを使用してみましたか?
あなたは使用できるはずです
string result = "";
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/json";
result = client.UploadString(url, "POST", json);
}
Console.WriteLine(result);
のドキュメント
http://msdn.Microsoft.com/en-us/library/system.net.webclient%28v=vs.110%29.aspx
http://msdn.Microsoft.com/en-us/library/d0d3595k%28v=vs.110%29.aspx
Web API HttpClientを使用してみてください
static async Task RunAsync()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://domain.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// HTTP POST
var obj = new MyObject() { Str = "MyString"};
response = await client.PostAsJsonAsync("POST URL GOES HERE?", obj );
if (response.IsSuccessStatusCode)
{
response.//.. Contains the returned content.
}
}
}
詳細はこちらをご覧ください Web API Clients
あなたのためのMSDNから;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine ("Content length is {0}", response.ContentLength);
Console.WriteLine ("Content type is {0}", response.ContentType);
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream ();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);
Console.WriteLine ("Response stream received.");
Console.WriteLine (readStream.ReadToEnd ());
response.Close ();
readStream.Close ();
ソース: http://msdn.Microsoft.com/en-us/library/system.net.httpwebrequest.getresponse(v = vs.110).aspx