代码之家  ›  专栏  ›  技术社区  ›  Mridang Agarwalla

从客户端用python发出urllib请求

  •  1
  • Mridang Agarwalla  · 技术社区  · 14 年前

    我已经编写了一个python应用程序,它使用urllib2库发出web请求,然后它将收集数据。我可以将其部署为一个web应用程序,这意味着所有urllib2请求都通过我的web服务器。这会导致服务器的IP被禁止的危险,因为许多用户的Web请求数量太多。另一个选择是创建一个我不想做的桌面应用程序。有没有什么方法可以部署我的应用程序,以便我可以通过客户端获得我的web请求。一种方法是使用Jython来创建一个applet,但是我读到Java applet只能对部署的服务器进行Web请求,而绕过这个问题的唯一方法是创建一个服务器端代理,这会使我们回到服务器的IP被禁止的问题。

    这听起来像是不可能的情况,我可能最终会创建一个桌面应用程序,但我想我会问是否有人知道替代的解决方案。

    谢谢。

    3 回复  |  直到 14 年前
        1
  •  1
  •   wump    14 年前

    您可以使用带签名的Java applet,它们可以使用Java安全机制来启用对任何站点的访问。 本教程详细说明了您必须执行的操作: http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html

    从flash小程序中也可以这样做。javascript也被限制在发布的站点上,不允许被签名或者像这样的安全异常,afaik。

        2
  •  1
  •   nkrkv    14 年前

    您可能可以使用来自javascript的ajax请求,javascript是客户端的一部分。

    • 使用服务器-客户端通信来发出命令和必要的数据以发出请求
    • 然后使用ajax从客户端到第三方服务器的通信。
        3
  •  0
  •   Community Egal    7 年前

    这取决于您打算采用的“刮除”形式:

    • 运行对第三方站点的ajax调用时可能会遇到问题。请看 Screen scraping through AJAX and javascript .
    • 另一种方法是在服务器端执行,但是要缓存结果,这样就不会不必要地命中第三方服务器。

    看看谷歌代码上的diggstripper。