JSONP Python脚本

0 投票
1 回答
946 浏览
提问于 2025-04-16 22:26

我最近在玩一个叫做HTML2Canvas的代码,链接在这里:https://github.com/niklasvh/html2canvas

这个工具是用JavaScript写的,可以把一个HTML页面转换成画布元素。

它使用一个代理来从远程网站获取HTML,像这样发起一个Ajax请求:

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

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

当我请求yahoo.com作为示例网址时,结果是这样的:

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,我只是提到它,因为我现在用的就是这个。

1 个回答

0

我把这个Python代理的源代码放到了https://github.com/niklasvh/html2canvas-proxy上。不过要注意,这个脚本可能会继续更新,更新后可能会导致代理无法正常工作。

撰写回答