【发布时间】:2019-09-05 06:49:12
【问题描述】:
我有 PHP 服务器,我将从客户端发送发送请求,我的请求成功,但我想要来自服务器的响应,它应该是一个 URL,当我试图从服务器检索响应(作为响应的 URL)然后它即将成功,但我的 StringContent 对象出现异常。那是: ==================================================== =============================
{System.UriFormatException: Invalid URI: The format of the URI could not be determined.
at System.Uri.CreateThis (System.String uri, System.Boolean dontEscape, System.UriKind uriKind) [0x0007b] in <ca7419b40e504a6dbe088f6fe95d09aa>:0
at System.Uri..ctor (System.String uriString, System.UriKind uriKind) [0x00014] in <ca7419b40e504a6dbe088f6fe95d09aa>:0
at MPTrain.view.ProductList.SendRequest () [0x001aa] in C:\nginx\www\repos\xformsexperimental\MPTrain\MPTrain\MPTrain\view\ProductList.xaml.cs:111 }
================================================ ===============================
我已经在我的服务器代码中尝试过:
$sql = "CALL FetchImage()";
$res = mysqli_query($conn,$sql);
if($res == TRUE)
{
if (mysqli_num_rows($res) > 0)
{
// output data of each row
while($row = mysqli_fetch_assoc($res)) {
echo json_encode($row);
}
}
}
这是我的客户端代码:
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://192.168.1.011/repos/xformsexperimental/RestApiTrain/index.php");
Dictionary<object, object> keyValuePairs = new Dictionary<object, object>();
keyValuePairs.Add("eml", "Manisha");
var jsonData = JsonConvert.SerializeObject(keyValuePairs);
var content = new StringContent(jsonData, UnicodeEncoding.UTF8, "application/json");
var posttask = await client.PostAsync(client.BaseAddress.ToString(), content); //accessing response
var stringContent = await posttask.Content.ReadAsStringAsync();
// ResponseImage responseImage = JsonConvert.DeserializeObject<ResponseImage>(stringContent);
Uri uri = new Uri(stringContent,UriKind.Absolute);
我从服务器得到的响应是:
================================================ ===============================
{\"image\":\"http:\\/\\/localhost\\/example\\/images\\/pic1.png\"}
================================================ ===============================
我想要来自服务器的准确或绝对 URL。 我怎么能得到它请帮助...
我试过这个:
ResponseImage responseImage = JsonConvert.DeserializeObject<ResponseImage>(stringContent);
但我在 stringContent 上得到了这个异常
================================================ ================================== {Newtonsoft.Json.JsonReaderException:完成读取 JSON 内容后遇到的附加文本:{。路径 '',第 3 行,位置 0。 在 Newtonsoft.Json.JsonTextReader.Read () [0x000c7] 在 :0 在 Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x000db] in :0 在 Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader 阅读器,System.Type objectType) [0x00054] 在 :0 在 Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in :0 在 Newtonsoft.Json.JsonConvert.DeserializeObject(System.String 值,System.Type 类型,Newtonsoft.Json.JsonSerializerSettings 设置)[0x0002d] in :0 在 Newtonsoft.Json.JsonConvert.DeserializeObject[T](System.String 值,Newtonsoft.Json.JsonSerializerSettings 设置)[0x00000] in :0 在 Newtonsoft.Json.JsonConvert.DeserializeObject[T] (System.String 值) [0x00000] in :0
在 C:\nginx\www\repos\xformsexperimental\MPTrain\MPTrain\MPTrain\view\ProductList.xaml.cs:112 中的 MPTrain.view.ProductList.SendRequest () [0x001aa] }
【问题讨论】:
标签: c# xamarin.forms