Foxtable(狐表)用户栏目专家坐堂 → 我想问下如何判断HttpClient超时?


  共有1938人关注过本帖树形打印复制链接

主题:我想问下如何判断HttpClient超时?

帅哥哟,离线,有人找我吗?
有点色
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/12 14:49:00 [显示全部帖子]

 过快的请求,就会报403的错误。

 

 你写的httpClient代码,是运行在服务器上的,而httpRequest是单线程的,自然执行效率会低。

 

 如果是手机端的应用,你可以直接写js去读取网页的数据,得到以后,再用js分析,这样就不需要经过服务器。


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/12 15:08:00 [显示全部帖子]

测试了一下用js,实现不了,涉及到跨域的问题。你还是需要用原来的思路。

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/12 16:06:00 [显示全部帖子]

 用httpClient麻烦,当出错的时候,会弹出错误。还是用原来的

 

try
    Dim req = System.Net.WebRequest.Create("http://search.anccnet.com/searchResult2.aspx?keyword=4891599366808")
    req.Method = "get"
    req.timeout = 2000
    Dim pos = req.GetResponse
    Dim stm As System.IO.Stream = pos.GetResponseStream()
    Dim reader As New System.IO.StreamReader(stm)
    Dim str As String = reader.ReadToEnd
   
    pos.Close
    stm.Close
    reader.close
    msgbox(str)
catch ex As exception
    msgbox("超时")
End try


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/12 19:58:00 [显示全部帖子]

try
    Dim req = System.Net.WebRequest.Create("http://search.anccnet.com/searchResult2.aspx?keyword=6907992100272")
    req.Method = "get"
    req.timeout = 5000
    Dim pos = req.GetResponse
    Dim stm As System.IO.Stream = pos.GetResponseStream()
    Dim reader As New System.IO.StreamReader(stm,Encoding.GetEncoding("GB2312"))
    Dim str As String = reader.ReadToEnd
   
    pos.Close
    stm.Close
    reader.close
    msgbox(str)
catch ex As exception
    msgbox("超时")
End try


 


 回到顶部