【问题标题】:Response timeout xamarin android响应超时 xamarin android
【发布时间】:2016-05-15 12:21:58
【问题描述】:

我正在尝试使用 HttpWebRequest 从服务器获取 JSON。但是,尝试使用不同 JSON 的不同 url 我总是得到“请求超时”。这是我的代码:

//url = "http://46.105.85.199:3000/api/books
        // Create an HTTP web request using the URL:
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
        request.Method = WebRequestMethods.Http.Get;
        request.Accept = "application/json";
        request.ContentType = "application/json";
        request.Timeout = 300000;
        var response = (HttpWebResponse)request.GetResponse();
        StreamReader reader = new StreamReader(response.GetResponseStream());
        string output = reader.ReadToEnd();

        response.Close();
        return output;`

和 JSON:

[
 {
"metaData": {
  "title": "Гарри Поттер и Принц-полукровка (Росмэн) -0",
  "language": "ru",
  "date": "2005",
  "creator": "Джоан Кэтлин Роулинг",
  "creatorFileAs": "Джоан Кэтлин Роулинг",
  "publisher": "РОСМЭН",
  "description": "",
  "subject": "child_adv"
},
"chapters": [
  {
    "id": "cover",
    "href": "OEBPS/cover.xhtml",
    "media-type": "application/xhtml+xml"
  },
...
],
"name": "legion.epub",
"url": "/upload/common/legion.epub",
"lastMark": null,
"cover": "./client/upload/images/missing.jpg",
"id": 8,
"readerId": null,
"teamId": null
  }
]

等等。我也尝试按 id 和章节获取 book,但结果相同。

【问题讨论】:

    标签: c# android json xamarin


    【解决方案1】:

    为了缩小问题范围,首先向第三方服务器(如 google.com)发送一个简单的 get 请求,既未指定 Accept 也未指定 ContentType

    如果超时没有重现,则可能是隐藏在url 后面的服务器存在问题。如果超时仍然存在,那么您可能在客户端(设备/模拟器)或 Web 代理/wifi 路由器/等之间的问题上遇到问题。

    为了检查后者,请从您的 PC (即标准浏览器)发出相同的请求。它检索响应快吗?

    【讨论】:

    • 是的。将“章节”JSON 添加到响应时出现问题。
    • @LukaBaryshych 我不太明白您的评论,您说当从 PC 请求时,响应会快速检索,对吗?然后你说问题出现在响应中附加一些东西时,即服务器操作,对吧?我不明白。无论哪种方式,答案是否被接受?
    • 编写客户端时,它使用简单的 JSON。然后,API 发生了变化(添加了“章节”),客户端解散了。看起来问题出在服务器上,因为我可以从 PC 获取响应,但不能从智能手机获取。
    • @LukaBaryshych 如果您可以从 PC 检索数据但无法从智能手机获取数据,则问题出在设备上,即不在服务器上。对了,你在收到数据的时候在PC上看到多少数据,有多少chapters
    猜你喜欢
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多