当前位置: 首页 > 面试题库 >

如何强制urllib2超时?

黎阳冰
2023-03-14
问题内容

我想在通过urllib2抓取数据时测试我的应用程序对超时的处理,并且我想采用某种方法来强制请求超时。

如果找不到非常慢的互联网连接,我可以使用哪种方法?

我似乎记得一个有趣的用于模拟这类事情的应用程序/套件。也许有人知道链接?


问题答案:

我通常使用netcat侦听本地计算机的端口80:

nc -l 80

然后,我在应用程序中使用http:// localhost
/
作为请求URL。Netcat会在http端口进行应答,但不会响应,因此,只要您在urllib2.urlopen()呼叫中指定了超时或通过呼叫,就可以保证请求超时socket.setdefaulttimeout()



 类似资料:
  • 问题内容: 我正在urllib2的urlopen中使用timeout参数。 我如何告诉Python,如果超时到期,应该引发自定义错误? 有任何想法吗? 问题答案: 在极少数情况下要使用。这样做会捕获可能很难调试的 任何 异常,并且会捕获包括和在内的异常,这些异常会使您的程序恼人。 最简单的说,您会发现: 以下内容应捕获连接超时时引发的特定错误:

  • 我正在使用Java8,我想知道对3个异步作业强制超时的推荐方法,我将执行异步并从未来检索结果。请注意,所有3个作业的超时是相同的。如果超出时间限制,我还想取消作业。 我在想这样的事情: 像这样的东西有用吗?有更好的方法吗? 如何正确地取消未来?Javadoc说,线程不能被中断?所以,如果我取消一个未来,并调用,我会立即得到结果,因为线程不会被中断吗? 在等待结束后,是否建议使用run()或get(

  • 问题内容: 因为我以前使用过jQuery的AjAX方法,所以我对XMLHttpRequests较新。但是,我需要在网络工作者中工作,现在我必须使用经典的XMLHttpRequest来解决性能问题。 我正在尝试从jquery 重建-property。如果应该禁用缓存,请添加以下内容: 但是,如果我想强制缓存(不是阻止),应该设置哪个标头? 问题答案: 您可以设置各种标头来鼓励缓存,但是它们(包括您使

  • 问题内容: 我需要向使用kso​​ap 2连接到Web服务的J2ME应用程序添加超时。 我已经尝试了在http://ksoap2.sourceforge.net/doc/api/org/ksoap2/transport/HttpTransport.html上描述为可能的伪超时的方法,但该方法似乎在此设备上不起作用。 我会在另一个线程上运行该连接,并在计时器触发时杀死它,但是按照http://dev

  • 问题内容: 有一个在Tomcat上运行的JDK7应用程序,它具有以下环境设置: 上面的设置可确保在进行API调用等操作时通过HTTPS连接时不使用TLS 1.0。 我们还使用org.springframework.mail.javamail。 JavaMailSenderImpl 类发送外发SMTP电子邮件,并使用以下道具: 问题是,当升级到TLS1.2时,与SMTP电子邮件服务器的连接失败。 j

  • 问题内容: 我在程序开始时,根据数据库中的某些内容,以编程方式在JScrollPane中添加了许多组件(JPanels,JLabels等)。 似乎对于GUI(?)而言,此过程太快了,因此JScrollPane并不总是正确更新,即,即使内部JPanel大于可见区域,滚动条也不可见。 调整窗口大小(JFrame)可以解决此问题,因为我认为Java在调整组件大小时会重新打印它们。 作为测试,我添加了一个

  • 问题内容: 我想知道,当创建新类然后覆盖该方法时,在eclipse中我总是会自动添加:。这是怎么发生的?在抽象类或父类中是否有Java关键字会强制这样做? 我不知道不调用父类是否违法,但是我记得在某些方法中,我没有这样做就引发了异常。这也是Java内置的吗?您可以使用某些关键字来做到这一点吗?或如何完成? 问题答案: 这是-几乎所有评论的来源(原始- 参见〜800行 ): 因此,我的猜测是ADT

  • 问题内容: 我有一个生成的生成文件,然后调用另一个生成文件。由于此makefile调用了更多的makefile来完成工作,因此它实际上并没有改变。因此,它一直认为该项目已建成且是最新的。 我如何强制makefile重建目标? 注意:删除名称以保护无辜者 编辑:最终固定版本: 问题答案: 您可以将一个或多个目标声明为虚假。 虚假目标实际上不是文件名。而是仅当您提出明确请求时要执行的配方的名称。使用伪