【问题标题】:JSONP python scriptJSONP python 脚本
【发布时间】:2011-07-28 10:13:37
【问题描述】:

我一直在玩代码 (HTML2Canvas):https://github.com/niklasvh/html2canvas

这是一个将 HTML 页面转换为画布元素的客户端 Javascript 工具。

它使用代理从远程站点获取 HTML,它会像这样进行 Ajax 调用:

$.ajax({
       data: {
         xhr2:false,
         url:urlParts.href

         },
         url: "http://html2canvas.appspot.com",
         dataType: "jsonp",
         success: function(html) {

这导致以下结果,当请求 yahoo.com 作为示例 URL 时,会请求 url:

http://html2canvas.appspot.com/?callback=jQuery162020564090818326575_1311846010895&xhr2=false&url=http%3A%2F%2Fwww.yahoo.com%2F&_=1311846201150

我想要做的是推出我自己的 JSONP 代理,我可以将我的代码副本指向它。问题是我不知道从哪里开始。

返回的 JSONP(我不会全部复制)是这样开始的:

jQuery162020564090818326575_1311846010895("<!DOCTYPE html>\n<html lang=\"en-US\" class=\"y-fp-bg y-fp-pg-grad  bkt701\" style=\

因此 HTML 被转义并包装在回调中。

我想创建一个 Python 脚本,它按照完全相同的方式工作并生成完全相同的输出。

谁能指出我正确的方向来创建一个可以生成类似输出的 Python JSONP 代理?它不一定是 Python,我只是引用它,因为它是当前使用的。

【问题讨论】:

  • 你不能去掉回调——比如jsonp.partition("(")[2].rstrip(")")——然后用剩下的字符串做你喜欢的事情吗?

标签: javascript python json proxy jsonp


【解决方案1】:

我将python代理的源代码放在https://github.com/niklasvh/html2canvas-proxy。但请注意,脚本仍会经历很可能会破坏代理的更改。

【讨论】:

    猜你喜欢
    • 2011-02-02
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 2016-11-11
    • 2013-05-20
    • 1970-01-01
    相关资源
    最近更新 更多