必威体育下载基督教Heilmann

您当前正在浏览的是必威体育下载基督教Heilmann11月的博必威体育简介客档案,2009.

11月存档,2009

使用YQL执行将包含数据的web文件夹转换为API

星期一,11月30日,2009

昨天约翰Bouveng在Facebook上用另一个脑筋急转弯来挑战我。约翰为机场的天气预报找到了一个很好的资源。数据又回来了TAF梅塔格式,他已经有了一个解析器(感谢F**——这些格式太糟糕了)。现在,他想要的是一个美国石油学会从以下资源获取天气预报数据:

使用YQLYQL执行这很容易。我要做的就是写一个打开读取正确文件的表

//检查是否请求TAF或METAR或返回错误
if(datatype 'taf' || ' metar'){
var returnobj url;

//使用机场ID和格式获取正确的url
如果数据类型= =“航空例行”){
url = ' http://weather.noaa.gov/pub/data/observations/' +
'metar/stations/'+airportid+'.txt'
其他}{
url='http://weather.noaa.gov/pub/data/forecasts/'+
'taf/stations/'+airportid+'.txt';
}

/ /做一个休息调用并获得响应
var out=y.rest(url).get().response;

//如果没有返回数据,返回一个错误。
如果(= =){
returnobj = 未找到机场。

//否则返回数据三种文件
其他}{
returnobj = {了}
}

其他
//错误数据类型的错误条件
returnobj = 数据类型必须是taf或metar。
}

//将数据返回给YQL
response.object = returnobj;

做完这些你现在可以把它当作一张桌子用在YQL:

使用“http://isithackday.com/hacks/airportweather/airportweather.xml”作为aw;
从aw中选择*,其中airportid=“aaxx”和datatype=“taf”;

如你所见,你不必成为一个天才来建立自己的美国石油学会:)

想为雅虎工作吗?我们正在英国和美国寻找网络开发人员。

星期天,11月29日,2009

新的一年即将到来,这意味着新的机遇。如果你认为雅虎是一个工作的地方,帮助我们在互联网上建立最大的网站,这是你的机会。要求是:

  • 手工编码的(X)HTML,CSS,和JavaScript
  • 扎实的标准知识,无障碍,跨浏览器的web开发
  • 基本的PHP或其他前端语言(例如Python,珀尔Ruby)的编程技能
  • 具有使用富客户端接口开发web应用程序的经验阿贾克斯,拖拽,和其他DOM脚本技术。
  • 具有jQuery等JavaScript库的使用经验,原型,特别是YUI
  • 通过组装现有代码模块来开发功能/应用程序
  • 使用* ix风格命令行(BSD/Linux)的用户级体验
  • 有使用版本控制系统的经验并行版本系统&颠覆,包括分支和合并
  • 有缺陷跟踪软件的经验

这个英国的完整工作规范在这里=和也可提供美式开口

美国的工作岗位位于桑尼维尔,加州和英国的科文特花园,伦敦,爆炸发生在剧院的中心,距离苏豪区只有几步之遥。

你也可以把你的简历发给我或者在Twitter上联系我:@codepo8

前载和拉链-全正面2009年基调

星期六,11月21日,2009

这是幻灯片,昨天在布赖顿举行的全面正面会议主题演讲的录音和我的笔记,英国。这是一个爆炸,谢谢Remy和Julie!

幻灯片共享

录音

你可以得到这段谈话的录音可以在archive.org上找到-录制在我的macbook上,所以有一些体积波动。

谈话描述

以下是对本次演讲的描述,向全场的与会者介绍了这些想法。

正面装载并拉上拉链——散货会使船只沉没吗?

JavaScript经历了一段坎坷的历程,从它的起源CGI公司更换,在Ajax的复兴过程中,无数弹出窗口和烦人的效果的发起者,最终被包裹在库中工作,这就是浏览器的差异。随着JavaScript的普及,新的挑战出现了。当浏览器不能真正区分不同的源代码并赋予它们相同的权限时,我们如何保证JavaScript的安全?为什么我们仍然通过浏览器说得有多糟糕来判断JavaScript的有用性呢?必威体育下载了解一些可以安全地使用JavaScript的环境,并惊叹于那些试图锁定JavaScript安全性问题的技术的魔力和烦人之处。

记忆之路的快速旅程。

当我第一次接触JavaScript时,它主要用于做简单的计算器,窗口操作和简单的表单验证。使用的主界面是浏览器对象模型窗口成为主要的对象形式要素成为要操作的集合。您可以通过更改价值或通过使用document . write()后者因浏览器而异。另一件事是图像数组,这是我们经常用来创建滚动的。

事件处理已完成{事件}内联处理程序和主体加载处理程序。

带上珠宝!

然而,这并没有阻止我们滥用javascript来创建毫无意义的铃声和口哨。状态栏行情,更改标题脚本和移动弹出窗口是让最终用户感到烦恼的第一步,而这仅仅是开始。

更多的珠宝。

随着浏览器开始允许你操作更多的文档(通过document.alldocument.layers)全新定制CSS扩展我们有更多的选择来做非常烦人和毫无意义的事情。动画菜单,彩虹循环滚动条,漂浮(闪烁)的Geocities标志,捕鼠器和其他可憎的东西被用来破坏我们的网站,随后观众厌倦了javascript,把它当作玩具丢弃了。

阿贾克斯赢了!

当Ajax出现时,这一切都改变了,您无法不使用这种或那种方式按需加载内容XMLhttpRequest–如果你想拥有一个很酷的网站。当然,人们用错了。

安全恐慌。

当人们使用javascript来加载不应该被全世界看到的信息,并且很容易被截取并看到在javascript浏览器中发生的一切时,我们将面临越来越多的安全威胁。

JavaScript是安全问题吗?

这就产生了一个问题:JavaScript本身是否是一个安全问题,我们是否应该抛弃它。

安全缺陷从后端开始,但JavaScript是罪魁祸首。

上周我遇到一个有趣的调查由安全公司Cenzic - getPDF在这里。他们研究了2009年前两个季度的网络状况和主要安全问题。调查显示,浏览器只负责整个安全问题的8%。

有趣的是,大多数安全缺陷都是从后端问题开始的,但都归咎于JavaScript。XSS是后端问题,但它成为了一个问题,因为JavaScript被设计为赋予脚本太多的权限。

JavaScript实现vs。JavaScript

问题不在于JavaScript本身——嗯,不仅如此,它主要是在浏览器中实现的。有趣的是,这就是我们衡量语言质量的方式。这就像通过电影来判断一本书的质量。

浏览器不关心JavaScript从何而来。

到浏览器,每个javascript对页面内容和其他javascript可以访问的内容拥有相同的权限,包括cookie。当我可以偷你的cookies时,我可以偷你用户的身份,这是一个很大的安全问题。

浏览器充满了安全漏洞。

另一个问题是浏览器充满了安全缺陷。当人们抱怨时,这可能很有趣IE6和它的缺陷,但调查实际上把火狐和Safari列为最易受攻击的浏览器。原因是火狐和iPhone的插件。有趣的目标总是成功的平台。

插件已经并且仍然是安全问题的主要来源。,尤其在……的情况下闪光灯和PDF显示一直是个问题。原因很简单——插件将浏览器的范围扩展到文件系统,这是一个有趣的攻击载体。所以如果你提供PDF文档和您希望保持系统的安全性,最好通过一个脚本循环它们,该脚本设置一个强制用户下载的头文件,这还允许您将统计信息添加到PDF下载。

所以我们不能使用JavaScript,对吧?

这使得很多人根本不相信JavaScript,认为它是万恶之源。插件等NoScript所有的愤怒和安全意识都乐于称JavaScript为万恶之源。

它是关于传播JavaScript的乐趣。

JavaScript是我们提供给最终用户的界面中非常有用的一部分。完全关闭它或不使用它意味着我们放弃了很多东西,我们的用户应该得到和期待在2009年的一个界面。我喜欢在后台上载附件时编写消息。

必威体育下载学习javascript

首先要记住的是,现在不是1997年。我们不需要通过查看别人的源代码来学必威体育下载习JavaScript。Opera的网络标准课程雅虎影剧院是您进入JavaScript世界的第一步的绝佳资源。

JavaScript有什么用

主要是要记住我们应该使用javascript的目的:

  • 切片器接口(自动完成,异步上传)
  • 警告用户有缺陷的条目(例如密码强度)
  • 扩展的接口选项HTML成为一种应用语言(滑块,地图,组合框……)
  • 任何不能安全完成的视觉效果CSS(动画,菜单……)

CSS已经走了很长的路,但除非你能控制动画,并确保它能跨浏览器工作,否则它不是替代品。菜单系统使用CSS只是一个噱头,因为他们不能使键盘访问。

什么不用JavaScript

  • 敏感资料(信用卡号码、任何真实用户资料)
  • Cookie处理包含会话数据
  • 试图保护内容(右键单击脚本,电子邮件混淆)
  • 替换您的服务器/节省服务器流量而没有回退

如果你还需要呢?

当您开始开发大型web产品时,所有这些都将成为一个问题,您将挑战web和技术的极限。雅虎的新主页就是其中的一个例子——我们希望允许第三方开发人员构建自己的应用程序,并在不危及用户隐私的情况下在我们的网站上安全地运行它们。

你可以限制自己

你能做的一件事就是把自己限制在语言的“安全”部分。道格拉斯CrockfordAdSafe采用这种方法,并作为广告提供商的指导方针。

您可以预处理JavaScript

另一种选择是通过预处理JavaScript并将其转换为更安全的子集来强制实施语言限制。现在的主要工具是恰亚这是由谷歌发明的,现在由谷歌和雅虎在开放的社交平台上可行。Caja将JavaScript转换为一个安全子集——在客户端或服务器上。

卡贾不允许你做的事

为了确保我们的应用程序的安全,Caja阻止你使用一些在过去几年里你可能已经习惯使用的东西。

CAJA和HTML

这是你不能用的东西HTML:

  • 名称属性
  • 自定义属性
  • 自定义标记
  • 未闭合标签
  • 嵌入
  • 伊夫拉姆
  • 链接rel = "…"
  • javascript:无效(0)
  • IE中的单选按钮
  • 相对URL

马德里和JavaScript

您需要避免的事情:

  • 表达式()
  • 新功能()
  • 作为事件处理程序的字符串(node.onclick='…';)
  • 名称以双/三重下划线结尾
  • 带功能(带(obj)…})
  • 隐式全局变量(指定var变量)
  • 将方法作为函数调用
  • 文件编写
  • 窗口事件
  • 返回JS的Ajax请求

CAJA和CSS

最后但并非最不重要的事情被认为是危险的CSS是:

  • 明星黑客
  • 强调黑客
  • IE条件句
  • 清除修复后插入
  • 表达式()
  • * @ import

caja就绪代码示例

你可以找到一个很好的收藏caja就绪代码示例在Yahoo应用程序平台文档中。

Caja问题,让它更简单

虽然caja是一个确保小部件安全的好主意,但它并非没有问题。如果选择客户端转换,这意味着应用程序的性能会有很大的下降,即使使用服务器端转换,构建新系统也会变得更加困难。首先,caja转换的代码非常难读,因此很难调试,在很多情况下,这意味着作为开发人员,您需要改变您的方式。

图书馆和CAJA合规性

就像我们修复浏览器一样,我们还可以使用库来简化符合caja的开发。第一个完全兼容Caja的库是雅虎用户界面库jQuery等其他库也对遵从性表现出了兴趣。

用自己的语言抽象问题YML

另一种更容易编写安全代码的方法是将对常规开发方法的大部分更改抽象为自己的标记语言。Facebook做到了这一点,在雅虎的案例中雅虎标记语言或简称YML。在Yahoo主页的小部件中使用这种语言,您可以执行Ajax请求并深入了解Yahoo社交图,而无需编写任何JavaScript或服务器端代码。

扩展浏览器

另一种让JavaScript开发更有趣的方法是考虑浏览器扩展。这首先从GreaseMonkey开始,它允许Firefox用户使用几行Dom脚本来扩展任何具有新功能的web站点——这是一种很好的方式,例如进行快速原型设计。Google Gears,Yahoo Browser Plus和Mozilla Jetpack将这一想法提升了一个档次,并为您提供了新的API,以将浏览器扩展到本地存储中。允许在javascript中访问数据库,并允许工作线程在不减慢主界面速度的情况下进行大量计算。这些扩展为浏览器提供了我们希望能够在浏览器中交付真实应用程序的能力。

离开浏览器

现在使用JavaScript还可以做的另一件事是离开浏览器,使用您的浏览器HTML,其他平台的CSS和JavaScript解决方案。

小部件框架

小部件框架已经存在一段时间了,Konfabulator和AppleDashboard小部件引领了这一进程。Opera还允许您在浏览器窗口之外运行小型应用程序。小部件的有趣之处在于,它们总是比大多数Web解决方案漂亮得多,主要是因为PNG支持是被给予的,而不是你必须去破解的东西MSIE

W3C小工具

W3C小工具是一个标准,允许您压缩HTML文档CSS,JavaScript和图像,并作为一个自包含的小部件运行它。彼得·保罗·科赫写了一篇伟大的介绍W3C小工具一些移动电话供应商(首先是沃达丰)提供了一种在手机上运行这些小部件的方法,而不需要学习任何移动操作系统语言或工具。必威体育下载

土坯空气

adobeair使web开发人员能够编写完整的可安装应用程序,这些应用程序可以跨多个操作系统运行,并且可以访问数据库和文件系统。最成功的应用可能是Twitter客户端和Spotify等音乐应用。

命令行JavaScript - Rhino

如果你不喜欢所有这些花哨的可视化的东西,你想用JavaScript做一些繁重的数据转换,你可以在命令行上使用JavaScript犀牛这是JavaScript的Java实现。为命令行编写JavaScript的真正酷之处在于,它支持该语言的所有特性,并且您不受浏览器的摆布。

将JavaScript mashup转换为Web服务。

对于开发人员来说,一个相当新的机会是您可以使用YQL或者雅虎查询语言,可以轻松地混合和过滤来自网络上多个数据源的数据。YQL允许你:

  • 将数据与SQL风格的语法
  • 过滤到绝对必要的数据
  • 返回为XML,JSON,JSON-P和JSON-PX
  • 使用雅虎作为高速代理从各种来源检索数据。
  • 提供数据时,使用雅虎作为速率限制和缓存代理。

HTML记录并选择正确的输出格式

使用YQL例如,从。检索标题是非常容易的HTML用以下语句编写文档。

从HTML中选择*,其中url=“http://2009.fullFrontal.org”和xpath=“//h3”

YQL本身就是一个Web服务,您可以以不同的格式检索从该请求返回的数据。

  • XML将数据返回为XML在JavaScript环境中不太有用的文件。
  • JSON是本机支持的,因此更容易解析。
  • JSON-P包裹返回JSON对象在JavaScript函数调用中,因此可以很容易地在脚本节点中使用(硬编码或动态创建)。
  • JSON-PX包裹返回JSON对象,并返回XML内容(在本例中为剪贴)HTML)作为字符串。这使它很容易使用内层HTML要在浏览器中呈现数据,而不必遍历JSON对象,并重新组装字符串。

检索特定地理位置的照片

作为演示,试试这个。为了检索特定地理位置的照片,可以使用geo和Flickr apiYQL声明:

选择farm,id,secret,owner.realname,server,title,urls.url.content
来自flickr.photos.info中的photo_id (
从flickr.photos.search中选择id,其中wou id in(
从geo.places中选择weid,其中text=“London”
)

)

在浏览器中试用查看结果数据。

使用几行DOM您可以将其转换为脚本一个展示这些照片的不错的网站


将javascript解决方案移入YQL将它们转换为web服务

上述解决方案的问题在于,您需要依赖javascript来显示这些照片。如果您仍然想使用javascript,但允许没有它的用户看到这些照片,您可以使用YQL使用嵌入式JavaScript打开表进行转换。YQL使用Rhino运行和执行JavaScript服务器端,并返回在XMLJSON文件。在服务器上执行javascript时,你已经饱了E4X支持利用XML无痛,你可以使用高级的javascript,比如为每一个:

var amt =金额|| 10;
var query='选择场,id,secret,owner.realname,server,title,'+
'urls.url.content from flickr.photos.info其中'+
从flickr.photos.search(' +)中选择id
金额+')其中';
如果(位置! = = null){
query+='woid_id in(从geo.places中选择woid,其中text=“'+
位置和“+”);
}

查询+= ' text= ' ' + text + ' '许可=4)'
var x=y.查询(查询);
变量输出=


    for each(var cur in x.results.photo){
    VaLi=

  • var a =
    a.@["href"] = cur.urls.url;
    var img =
    var url='http://farm'+cur@farm+'.static.flickr.com/'+
    cur。@server+'/'+cur。@id+''+cur。@secret+
    “_s.jpg”;
    img.@[“src”]=网址;
    img.@[“alt”]=当前标题;
    A.IMG=IMG;
    li.a = a;
    out.li += li;
    }

    response.object=out;

    这一点,嵌入到open表中意味着您现在可以使用以下命令从Flickr检索照片作为ULYQL声明:

    从flickr.photolist中选择*,其中text=“me”和location=“uk”,amount=20

    然后,您可以显示返回的照片具有PHP:

          $ url = http://query.yahooapis.com/v1/public/yql?q=use%20%22http: / /github.com/codepo8/yql-tables/raw/master/flickr/flickr.photolist.xml%22%20as%20flickr; % 20选择% 20 * % 20从% 20 flickr % 20 % 20文本= % 22我% 20 - 22% % 20位置= % 22日英国% 20 - 22% % 20数量= 20格式= xml&diagnostics = false ';
    $ ch = curl_init();
    卷发($ch,科洛普网址$ url);
    卷发($ch,科洛普后退,1);
    $output=curl_exec($ch);
    curl_close(ch);
    $output=preg_replace('/..*
      / ','
        ‘美元产量’;
        美元= preg_replace(' /输出
      . * /”、“
    ‘美元产量’;
    美元= preg_replace(' /输出 /'、''、$output);
    美元= preg_replace(' /输出 /'、''、$output);
    回波输出;
    ? >

    或者使用非常简单的javascript,多亏了JSONpx输出格式:

          



    另一个例子-抓取HTML从需要的网页帖子数据

    另一个强大的例子,当你嵌入JavaScript到YQL下表为:

          


    必威体育下载基督教Heilmann
    HTML需要发布数据的页面
    <br/>select*from table where<br/>url='http://isithackday.com/hacks/htmlpost/index.php'<br/>and postdata=“foo=foo&bar=bar”and xpath=“//p”
    http://www.wait-till-i.com/2009/11/16/using-yql-to-read-html-from-a-document-that-requires-post-data/




    作为在此博客文章中详细解释此javascript扩展了HTML刮的选择YQL允许帖子在检索。之前要发送到文档的数据HTML:

    从htmlpost中选择*
    url = ' http://isithackday.com/hacks/htmlpost/index.php '
    postdata="foo=foo&bar=bar" xpath="//p"

    请注意,YQL执行给你全部休息HTTP支持并将xpath转换内置为on自己的函数。

    JavaScript中的oAuth——netflix的例子

    另一个有趣的例子是Netflix提供的开放表,它向您展示了如何在JavaScript中使用OAuth:

    //包含来自oauth.net的OAuth库
    y.include(“http://oauth.googlecode.com/svn/code/javascript/oauth.js”);
    y.include(“http://oauth.googlecode.com/svn/code/javascript/sha1.js”);

    //收集所有参数
    var encodedurl = request.url;
    var accessor = {consumerSecret: cks,tokenSecret:" };
    var message = {action: encodedurl,方法:“获得”,参数:[“OAuth_Consumer_Key”,CK],[“OAuth_version”,“1.0”];
    oauth.settimestampandnonce(消息);

    //签署请求
    OAuth.SignatureMethod.sign(消息,存取器);

    尝试{
    //获取服务中的内容以及OAuth报头,并返回结果
    response.object=request.contenttype('application/xml').header(“授权”,OAuth.getAuthorizationHeader(" netflix.com ",.response message.parameters)). get();
    捕获(err)
    response.object='result':'failure',“错误”:错误;
    }

    解放我们的JavaScript

    正如您所看到的,交换环境解放了我们的javascript解决方案,使我们的安全性更加严格。所以,敞开心扉,不要通过实现来判断javascript。相反,好好享受它,明智地使用它。强大的力量带来巨大的责任。

    邀请英国公司为雅虎主页开发一个应用程序。下星期四过来

    周二,11月17日,2009

    恶人不能安息。从日本回来,为周五的全面正面会议做准备,我刚刚花了一个小时在下周四雅虎应用平台活动的最后一次会议上。你们可能知道,您可以构建在雅虎平台上运行的应用程序,并且可以由我们的任何用户安装。现在,我们为英国公司举办了一场竞赛,旨在打造一款酷炫的品牌应用程序,主要奖项是雅虎英国主页上的一个有保障的位置。

    听起来不错吗?下星期四过来看看是怎么回事。以下是官方邀请:

    雅虎技术研讨会!应用平台
    这个 雅虎应用平台允许开发者访问雅虎!上百万的用户,改进雅虎!通过为雅虎构建和部署复杂的新应用程序,获得用户体验!页面。
    我们想请你参加一个关于 雅普由雅虎领导!开发者Christian Heilmann必威体育下载。
    它将对这项技术进行概述,包括一些已经开发的应用程序的例子,然后深深地扎进去 雅普平台。请带好您的笔记本电脑(如果您有的话,请带一个3g加密狗,以防场地wifi让我们失望)。
    经过一些点心,也将有机会与 雅普,当Chris引导您创建示例应用程序时。
    活动将在世纪(沙夫茨伯里大街61-63号,伦敦, W1D 6 lq)11月26日下午6:30开始注册。
    我们还将宣布最佳应用程序的竞争,有机会进入雅虎!主页(以及一个奖品,你可以带回家!)我们期待着你帮助我们在雅虎上建立下一个伟大的东西!

    如果你想成为其中一员,而你的公司位于英国,发送电子邮件至yap-london@yahoo-inc.com公司如果还有空间的话,我们会和你联系的。

    使用YQL从需要发布数据的文档中读取HTML

    星期一,11月16日,2009

    YQL提取数据的工具很酷吗HTMLWeb上的文档。让我们面对现实:HTML是一种糟糕的数据格式因为太多的文档不是坏了就是坏了,编码错误或结构不符合要求。因此,它可以是相当混乱的尝试读取aHTML编写文档,然后使用正则表达式或期望的工具查找所需的内容XML兼容的HTML文件。巨蟒粉丝会知道美丽的汤例如,它在解决这些问题方面做得很好。

    使用YQL但是,您可以使用简单的Web服务从HTML文件。作为额外的奖励,的YQL引擎将删除错误编码的字符并运行通过HTML整洁获得有效HTML回来。例如,获取美国有线电视新闻网.com您需要做的就是:

    从HTML中选择*,其中url="http://cnn.com"

    最酷的是YQL它允许你XPATH以筛选要提取的数据。例如,要从cnn.com获取所有链接,您可以使用:

    从html中选择*,其中xpath="//a", url="http://cnn.com"

    如果只想拥有链接的文本内容,可以执行以下操作:

    从html中选择内容,其中xpath="//a"和url="http://cnn.com"

    例如,你可以用谷歌翻译来翻译链接。美国石油学会:

    select*from google.translate where q in(select content from html where url=“http://cnn.com”and xpath=“/a”)and target=“fr”

    现在,前几天我尊敬的同事德克吉纳德给我出了个脑筋急转弯。他的问题是当HTML记录你试图获得的需求帖子数据发送到它以便它正确呈现?你可以添加得到参数到URL,但不是帖子因此,正常HTML文档不够。

    好消息是YQL允许你以多种方式扩展它,其中一个是使用open表中的执行块在服务器上使用JavaScript转换数据。JavaScript中有E4X支持并允许您做任何事情HTTP请求。所以,解决Dirk困境的第一步是编写一个演示页面(添加这个表单是为了测试它):

    
    “http://www.w3.org/tr/html4/strict.dtd”>
    
                  
                   >
                  
      
                 
                  >
                 HTML Post表测试>
                 
                  >
                 
      
                 
                  >
                 当提交正确的POST数据时,下面应该是“yay!”>
    
                 如果()收取()美元邮报[“foo”])& &收取()美元邮报[“酒吧”])){
    回声

    耶!>“;?”> 行动= “索引php” 方法= “发布” accept-charset= “utf - 8” > 类型= “文本” 名称= “foo” 价值= “IS” > 类型= “文本” 名称= “酒吧” 价值= “设置” > 类型= “提交” 价值= “继续”→ > > > >

    当提交正确的POST数据时,下面应该是“yay!”

    耶!

    “;?”>

    下一步是写an打开表YQL这就完成了必要的请求和转换。

    
                  版本=“1” 编码=“utf - 8”? >
    
                   
                   XMLNS=
                   “http://query.yahooapis.com/v1/schema/table.xsd”
                   >
                  
      
                   
                    >
                   
      
                  
                   >
                  必威体育下载基督教Heilmann>
      
                 
                  >
                 需要发布数据的HTML页面>
      
                 
                  >
                 </span><span style="color: #339933;">select * from {table} where</span><span style="color: #339933;">url='http://isithackday.com/hacks/htmlpost/index.php' </span><span style="color: #339933;">and postdata="foo=foo&bar=bar" and xpath="//p">
      
                 
                  >
                 >
      >
      
                 
                  >
                 
        
                  
                  itemPath=
                  ”“ 
                  生产=
                  “XML”
                  >
                 
        
                  
                   >
                  
          
                 
                  >
                 {URL}>
        >
        
                 
                  >
                 
          
                  
                  id=
                  “网址” 
                  类型=
                  “xs:string” 
                  要求=
                  “真” 
                  参数类型=
                  “变量”
                  >
                 
          
                   
                   id=
                   “postdata” 
                   类型=
                   “xs:string” 
                   要求=
                   “真” 
                   参数类型=
                   “变量”
                   >
                  
          
                    
                    id=
                    “xpath” 
                    类型=
                    “xs:string” 
                    要求=
                    “真” 
                    参数类型=
                    “变量”
                    >
                   
        >
        
                   
                    >
                   
        <span><span style=“color:339933;”>var myrequest=y.rest(url);</span><span style="color: #339933;">      var data = myRequest.accept('text/html').</span><span style="color: #339933;">                 contentType("application/x-www-form-urlencoded").</span><span style="color: #339933;">                 post(postdata).response;</span><span style="color: #339933;">      var xdata = y.xpath(data,xpath);</span><span style="color: #339933;">      response.object = <postresult>{xdata}</postresult>;</span><span style="color: #339933;">
        >
      > 
      >
    >
    必威体育下载基督教Heilmann 需要发布数据的HTML页面 从{table} whereurl='http://isithackday.com/hacks/htmlpost/index.php'和postdata="foo=foo&bar=bar"和xpath="//p"中选择*

    使用此,现在可以发送帖子数据到任何HTML文档(除非其robots.txt阻止YQL服务器或它需要身份验证)并获取HTML内容。为了让它工作,使用“use”命令定义表:

    使用“http://isithackday.com/hacks/htmlpost/htmlpost.xml”作为htmlpost;从htmlpost中选择*,其中url='http://isithackday.com/hacks/htmlpost/index.php'和postdata=“foo=foo”就是=酒吧”和xpath = " / / p”

    你可以在控制台中尝试这个例子

    我还将表添加到打开YQLgithub上的表存储库它迟早会出现在控制台。

    这里有一个快速的解释是怎么回事:

    
                  版本=“1” 编码=“utf - 8”? >
    
                   
                   XMLNS=
                   “http://query.yahooapis.com/v1/schema/table.xsd”
                   >
                  
      
                   
                    >
                   
      
                  
                   >
                  必威体育下载基督教Heilmann>
      
                 
                  >
                 需要发布数据的HTML页面>
      
                 
                  >
                 </span><span style="color: #339933;">select * from {table} where</span><span style="color: #339933;">url='http://isithackday.com/hacks/htmlpost/index.php' </span><span style="color: #339933;">and postdata="foo=foo&bar=bar" and xpath="//p">
      
                 
                  >
                 >
      >
    必威体育下载基督教Heilmann 需要发布数据的HTML页面 从{table} whereurl='http://isithackday.com/hacks/htmlpost/index.php'和postdata="foo=foo&bar=bar"和xpath="//p"中选择*

    定义模式并像作者一样添加元数据,描述和示例查询。后者非常重要,因为它将在YQL当人们点击桌子时控制台。通常还应该提供文档URL,但这篇文章不是我写桌子时写的,所以我把它放空了。

      
                 
                  >
                 
        
                  
                  itemPath=
                  ”“ 
                  生产=
                  “XML”
                  >
                 
        
                  
                   >
                  
          
                 
                  >
                 {URL}>
        >

    做完了。使用YQL您可以将大量JavaScript代码移动到Yahoo server farm,这些代码执行复杂的转换,而不会降低最终用户的计算机速度。你有一个安全的环境来启动,因为没有DOM漏洞。