- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近继承了一个python项目,现在正在维护中。部分代码从网站发出几十万个请求,并将结果保存到数据库中。该代码为到达请求重用相同的 httplib.HTTPConnection 对象,然后循环访问
conn.request("GET",someString,'',headers)
response = conn.getresponse()
部分。几天前,在我的日志中,我看到其中一个请求引发了异常:
[Errno 104] Connection reset by peer
紧随其后的是所有其他 conn.request() 失败。我的第一个想法是为每个请求建立一个新的连接,但这样做对性能的影响是深远而可怕的。所以我的问题是,我该如何解决这个问题,特别是因为我不是 100% 确定我什至可以真正测试它。
如果我在异常后调用 conn.connect(),它会正确地重新连接吗?
我正在寻找有关如何修复它以及可能如何测试它的建议。
感谢您的宝贵时间。
最佳答案
我认为您首先需要确定要处理的故障模式。例如,连接是否由于服务器上的临时资源问题而重置,快速周转连接将解决它?或者,服务器是否已关闭或重新启动,您应该中止您的进程?
假设第一种情况,我认为您的思路是正确的。尝试这样的事情(注意,这不是工作代码 - 它只是逻辑的一个例子):
while True:
try:
conn.request("GET",someString,'',headers)
response = conn.getresponse()
except httplib.HTTPException, e:
conn.connect()
continue
break
您可能应该为此添加一些逻辑,以在重复连接尝试之间暂停并在一定次数的尝试后放弃(这基本上是上面的第二种情况)。
为了对此进行测试,请尝试使用 tcpkill 来重置 TCP 连接:
关于python - 在 python 2.7 中重用 httplib.HTTPConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13652875/
我正在为 BB 开发一个项目。该应用程序与网络一起工作,并通过 HTTP 发送/接收数据。现在我使用队列和队列管理器。管理器从一个后台线程开始,并在 while (true) 循环中工作,检查队列中是
我正在尝试使用以下代码从 Web 服务下载一个大型 (11MB) JSON 文件: public static void downloadBigFile(final String serverUrl,
我有这种方法可以使用 httpconnection 发布。我收到错误 sun.security.provider.certpath.SunCertPathBuilderException: 连接到自签
我想关闭 get 请求连接,但它没有关闭。 这是我的代码块 编辑代码块但不再起作用.. try { HttpClient client = new DefaultHttpCl
以下是我的android java代码的一部分,我收到错误“无法实例化 HttpConnection 类型” import org.apache.http.HttpConnection; import
我需要使用http连接调用服务get,响应包含阿拉伯字符,但是当我使用下面的代码调用它时 try { HttpURLConnection conn = (HttpURLConnect
我有以下代码: HttpConnection httpCon = null; InputStream fileIn = null; try { httpCon = (HttpConnecti
我想处理来自网站的数据。我需要处理 session ,所以我需要发送cookie。但是,如果我的程序等待超过 60 秒来请求新站点,DNS 解析器将为我带来一个新的 IP,以便我的程序将连接到另一台没
我正在为 GPRS 调制解调器 (Siemens TC65) 开发一个 java 应用程序。我多次调用一种方法来对不同的 URL 执行 HttpConnection。有时它工作正常,但有时我会被我的运
我编写了一个辅助函数,可以从 URL 检索内容。此函数还可以解析参数的 Map 并根据请求提供 url 或正文,具体取决于 GET 或 POST 方法。假设这个函数还可以做其他事情(更改 header
我使用此代码发送彩信,所有参数都正确,但连接被拒绝。并且网络已在移动彩信上连接。 HttpUtils 是一个来自此处下载的库的类:https://github.com/android/platform
我正在尝试使用 HTTPConnection (2.7.8) 发出请求,并且我已使用 HTTPConnection(host, timeout=10) 将超时设置为 10 >。但是,HTTPConne
在 J2ME 中,哪种连接类型更好?Get 还是 post。哪种连接速度更快?哪种使用的带宽更少?大多数手机都支持哪种连接类型?两者的优缺点是什么? 最佳答案 另请参阅 Is there a limi
我喜欢将文件上传到 http 服务器。这是我到目前为止的代码。问题是文件根本没有上传。代码有什么问题吗? 更新:我已经解决了。任何遇到同样问题的人,也许这段代码可能会有所帮助。 try{ Fil
这个问题已经有答案了: How can I fix 'android.os.NetworkOnMainThreadException'? (65 个回答) 已关闭 3 年前。 使用已接受的答案 her
我是 java 和 android 编程新手,通过遵循一些教程,我尝试制作一个 Android 应用程序,该应用程序必须向 php 页面发出 Http 请求以读取输出字符串。我在 doInBackgr
我们经常使用 HttpURLConnection API 向同一提供商调用 REST API(一种聚合用例)。我们希望保持一个包含 5 个连接的池始终对提供商主机开放(始终使用相同的 IP)。 什么是
HttpConnection 中的方法 setAllowUserInteraction() 在内部如何工作?这种情况下用户交互的意义是什么? 最佳答案 它应该表明,如果需要,系统可以要求用户提供额外的
第一次在这里问问题,而且是 android 编程的新手。我正在按照在线 youtube 教程创建用户“Tonikami TV”的登录名。除了 serverRequests 类之外,应用程序的一切都很好
我正在使用 Httconnection 连接到网络服务器,有时请求失败导致 EOFException 调用 httpconnection.getResponseCode() 时。 我在建立连接时设置了
我是一名优秀的程序员,十分优秀!