我在php中有一个用于从curl获取结果的示例代码,但是当我尝试调用c#上的函数时,我从未像php那样获得结果。
这是用php编写的代码。
$url = "http://localhost/ws/init.php";
$ch=curl_init();
curl_setopt($ch, CURLOPT_POST ,1);
$header=array();
$header[]='Content-Type: application/json';
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
$data = json_encode($data);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$result=curl_exec($ch);
curl_close($ch);
return $result;这是来自php的结果。
{"error_code":"0","error_desc":"","data":{"token":"xyx"}}我尝试使用libcurl.net,HttpClient,WebRequest和WebClient来获得像php代码一样的结果,但直到现在我仍然不走运,也许有人可以帮助我解决这个问题?
我很感谢你们的帮助
之前谢谢你
发布于 2017-08-12 14:04:37
您可以使用RestSharp
示例:
var client = new RestClient("http://localhost/ws/init.php");
var request = new RestRequest("", Method.POST);
var yourobject = new RequestObject(){....};
var json = request.JsonSerializer.Serialize(yourobject);
request.AddParameter("application/json; charset=utf-8", json, ParameterType.RequestBody);
var myResponseData = client.Execute<MyResponseObject>(request);响应对象
public class DataObject
{
public string token { get; set; }
}
public class MyResponseObject
{
public string error_code { get; set; }
public string error_desc { get; set; }
public DataObject data { get; set; }
}发布于 2017-08-11 20:44:51
您可以使用HttpClient来执行此操作。你可以使用类似这样的东西
public async Task<JsonObject> GetAsync(string uri)
{
var httpClient = new HttpClient();
var content = await httpClient.GetStringAsync(uri);
return await Task.Run(() => JsonObject.Parse(content));
}https://stackoverflow.com/questions/45632786
复制相似问题