shamusoft 2011-10-27 09:17 采纳率: 0%
浏览 284
已采纳

请求超时的问题 HttpClient

public static String getJsonOfArray(String url) throws Exception
{
String JsonStr =null;
if(url.contains("?")){
url +="&type=m";
}else{
url +="?type=m";
}
HttpGet httpRequest = new HttpGet(url);
HttpClient client = DefaultClient.getInstance();
[b]client.getParams().setParameter("http.socket.timeout",2000);[/b]//[i]设置请求服务器超时时间 不起作用[/i] client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
try {
HttpResponse httpResponse = client.execute(httpRequest);
if (httpResponse.getStatusLine().getStatusCode()==HttpStatus.SC_OK)
{
JsonStr = EntityUtils.toString(httpResponse.getEntity());
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Log.i("XX","---JsonStr---"+JsonStr);
return JsonStr;
}

  • 写回答

1条回答 默认 最新

  • likesafesam 2011-10-28 16:02
    关注

    我的,希望有用
    [code="java"]
    public class GetJsonData {
    public static String getConnectionData(String url) {
    StringBuilder sb=new StringBuilder();
    HttpClient client=new DefaultHttpClient();
    HttpParams params=client.getParams();
    HttpGet get=new HttpGet(url);
    try {
    HttpResponse response=client.execute(get);
    HttpConnectionParams.setConnectionTimeout(params, 3000);
    HttpConnectionParams.setSoTimeout(params, 5000);
    HttpEntity entity=response.getEntity();
    if(entity!=null){
    BufferedReader reader=new BufferedReader(new InputStreamReader(entity.getContent(),"utf-8"),8192);
    String line=null;
    while((line=reader.readLine())!=null){
    sb.append(line+"\n");
    }
    reader.close();
    }
    } catch (ClientProtocolException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    return sb.toString();
    }
    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器