0
HttpClient myClient = new HttpClient();
myClient.BaseAddress = new Uri(URL);

ベース アドレスはクライアントの URL で既に指定されています。

var encodedObject = JsonConvert.SerializeObject(Obj);
myClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await myClient.PostAsync("test.php/yourAPI",new StringContent(encodedObject, System.Text.Encoding.UTF8, "application/json"));
if (response.IsSuccessStatusCode)
{
  var responseContent =  response.ToString();
  var responsebody = response.Content.ToString();
  Stream receiveStream = response.GetResponseStream();
  string responseBodyAsText = response.Content.ReadAsStringAsync().Result;
}
4

2 に答える 2

0

コンテンツ ネゴシエーションの問題である可能性があります。Acceptjson メディア タイプを追加する前にヘッダーをクリアしてみてください

myClient.DefaultRequestHeaders.Accept.Clear();
myClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
//...other code removed for brevity.

このコードは、Accept ヘッダーを「application/json」に設定し、JSON 形式でデータを送信するようサーバーに指示します。

参照元: ASP.NET Web API 2 で .NET クライアントから Web API を呼び出す

于 2016-07-05T12:30:40.523 に答える