在Python中从客户机sid发出urllib请求

2024-05-17 13:30:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了一个Python应用程序,该应用程序使用urllib2库发出web请求,之后它将获取数据。我可以将其部署为一个web应用程序,这意味着所有urllib2请求都将通过我的web服务器。这会导致服务器IP被禁止的危险,因为许多用户都有大量的web请求。另一个选择是创建一个我不想做的桌面应用程序。有什么方法可以部署我的应用程序,这样我就可以通过客户端获得我的web请求了吗。一种方法是使用Jython创建一个applet,但是我读到javaapplet只能向部署它的服务器发出web请求,而绕过这个问题的唯一方法就是创建一个服务器端代理,这会导致服务器的ip被禁止的问题。在

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

谢谢。在


Tags: 方法用户ip服务器web应用程序客户端代理
3条回答

你可以使用一个签名的javaapplet,他们可以使用Java安全机制来启用对任何站点的访问。 本教程准确地解释了您必须做什么:http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html

从flashapplet中也可以这样做。Javascript也被限制在发布的站点上,不允许被签名或者像这样的安全异常,AFAIK。在

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

  • 使用服务器→客户端通信来发出命令和发出请求所需的数据
  • …然后使用从客户端到第三方服务器的AJAX通信。在

这取决于您打算进行的“刮除”形式:

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

在谷歌代码上查看diggstripper。在

相关问题 更多 >