谁能解决TIdHTTP.Get超时无响应的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁能解决TIdHTTP.Get超时无响应的问题相关的知识,希望对你有一定的参考价值。

参考技术A 检查网络,查看是否有权限,httpclient框架实现示例代码:
1. GET 方式传递参数
//先将参数放入List,再对参数进行URL编码
List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "数据")); //增加参数1
params.add(new BasicNameValuePair("param2", "value2"));//增加参数2
String param = URLEncodedUtils.format(params, "UTF-8");//对参数编码
String baseUrl = "服务器接口完整URL";
HttpGet getMethod = new HttpGet(baseUrl + "?" + param);//将URL与参数拼接
HttpClient httpClient = new DefaultHttpClient();
try
HttpResponse response = httpClient.execute(getMethod); //发起GET请求
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8"));//获取服务器响应内容
catch (ClientProtocolException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();


2. POST方式 方式传递参数
//和GET方式一样,先将参数放入List
params = new LinkedList<BasicNameValuePair>();
params.add(new BasicNameValuePair("param1", "Post方法"));//增加参数1
params.add(new BasicNameValuePair("param2", "第二个参数"));//增加参数2
try
HttpPost postMethod = new HttpPost(baseUrl);//创建一个post请求
postMethod.setEntity(new UrlEncodedFormEntity(params, "utf-8")); //将参数填入POST Entity中
HttpResponse response = httpClient.execute(postMethod); //执行POST方法
Log.i(TAG, "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码
Log.i(TAG, "result = " + EntityUtils.toString(response.getEntity(), "utf-8")); //获取响应内容
catch (UnsupportedEncodingException e)
e.printStackTrace();
catch (ClientProtocolException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
参考技术B 歌名:趁著不深歌手:回音哥这里比较和谐,贴不了地址,楼主可以百度歌名查找实在找不到,留下邮箱,我发给你好了~!有什麼问题请随时提出来没有问题,请采纳答案哦~!(>^ω^^ω^^ω^<)喵

EntityFramework Core Timeout 已过期。操作完成前超时时间已过或服务器无响应

【中文标题】EntityFramework Core Timeout 已过期。操作完成前超时时间已过或服务器无响应【英文标题】:EntityFramework Core Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding 【发布时间】:2019-06-08 01:46:22 【问题描述】:

webAPI中,当我获取一些记录时,有时会出现异常

超时。在完成之前超时时间已过 操作或服务器没有响应。

但有时还可以,而且反应很快。

为什么会出现异常?

【问题讨论】:

【参考方案1】:

如果可能是数据库正在锁定。也许您已经在单独的线程或不同的应用程序中启动了事务,并且当前调用无法完成,因为事务尚未关闭。

尝试杀死所有与数据库通信的应用程序,并确保您的代码没有开始任何它没有关闭的事务。

【讨论】:

但是浏览器的OPTIONS请求有时webapi响应超时

以上是关于谁能解决TIdHTTP.Get超时无响应的问题的主要内容,如果未能解决你的问题,请参考以下文章

TIdHTTP get下载文件

关于TOMCAT响应超时请求重发的问题

Linq Count() 超时 - 执行超时已过期。操作完成前超时时间已过或服务器无响应

springboot 服务卡死 连接池查询无响应问题解决

ExecuteQueryin linq:超时已过期。操作完成前超时时间已过或服务器无响应

校园网inode连接网络之后直接认证无响应,5分钟后重试