文档中心 - FetchURL - Sina App Engine
2012-06-25 14:34
302 查看
文档中心 - FetchURL - Sina App Engine
FetchURL
服务概要
应用场景
使用指南
抓取页面
发起POST请求
错误码参考
服务限制与配额
服务限制
分钟配额
常见问题
收起
服务概要
应用场景
使用指南
服务限制与配额
常见问题
展开
服务概要
特别说明:SAE目前已经完全兼容cURL模块(内部用FetchURL实现),所以用户可以使用cURL*函数进行HTTP请求,兼容用户以往的使用习惯,使用户的学习成本降为零。所以我们推荐用户使用cURL*函数,以下关于FetchURL的文档仅供老用户参考。
FetchURL是SAE为开发者提供的分布式网页抓取服务,用来同步的抓取http页面,FetchURL针对国内的网络的做了优化,内部有调度系统,尽可能保证用户快速的抓取到目标页面。在SAE上使用FetchURL非常简单,只需要调用sae_std_lib中的几个简单的函数即可。但需要特别注意的是,为了平台安全性,SAE对FetchURL做了一些限制:
http连接超时<=5秒
send超时<=15秒
read超时<=20秒
http header禁用项:Content-Length、Host、Vary、Via、X-Forwarded-For、FetchUrl、AccessKey、TimeStamp、Signature、AllowTruncated、ConnectTimeout、SendTimeout、ReadTimeout
另外,SAE规定FetchURL的user-agent默认包含SAE/fetchurl-accesskey,其中accesskey是用户的accesskey,用户可以自行添加user-agent。Referer用户也可以自行定义。
应用场景
FetchURL适用的场景主要有:
1. 抓取http资源 2. 发送http rest请求 3. FetchURL支持https,并且支持重定向
使用指南
抓取页面
$f = new SaeFetchurl(); $content = $f->fetch('http://sina.cn');
发起POST请求
$f = new SaeFetchurl(); $f->setMethod('post'); $f->setPostData( array('name'=> 'easychen' , 'email' => 'easychen@gmail.com' , 'file' => '文件的二进制内容') ); $ret = $f->fetch('http://photo.sinaapp.com/save.php'); //抓取失败时输出错误码和错误信息 if ($ret === false) var_dump($f->errno(), $f->errmsg());
错误码参考
errno: 0 成功 errno: 600 fetchurl 服务内部错误 errno: 601 accesskey 不存在 errno: 602 认证错误,可能是secretkey错误 errno: 603 超出fetchurl的使用配额 errno: 604 REST 协议错误,相关的header不存在或其它错误,建议使用SAE提供的fetch_url函数 errno: 605 请求的URI格式不合法 errno: 606 请求的URI,服务器不可达
服务限制与配额
SAE设置服务限制和配额的目的是为了防止个别用户攻击和滥用,从而在公有云计算平台上保证绝大多数开发者的正常使用。
1. 服务限制和配额设定是在门户网站新浪自身长期运维的基础上经过严格计算得出的,所以正常使用一般不会出现问题。经过SAE实际统计,99%的应用不会受到任何影响
2. 当您发现您的某项服务超过限制或者超配时,请先阅读相关文档确认限制和配额的具体数值,再检查自己的程序是否存在使用不当的情况,如果仍然解决不了,可以和SAE官方联系,saeadmin@sina.cn
服务限制
分钟配额
运行在SAE上的应用(App)将会消耗平台资源,为保证各App不互相影响,我们引入了*分钟配额*的概念,即:在每分钟内每个应用的各个服务所消耗 的 资源的速度。比如,当平台中的某个应用的MySQLl服务一分钟内累计请求数达到10万,或者流出宽带超过200M,我们将会立即禁掉该应用的MySQL 服务,禁用五分钟后,会自动恢复,避免影响到SAE平台的稳定性。服务因为超过“分钟配额”而被禁用时,会在“服务状态”看到该服务被禁用的原因是:OverMinuteQuota
常见问题
SAE平台出口IP:
220.181.129.126
220.181.129.121
220.181.136.229
220.181.136.230
http接口方需要IP授权可以进行相应的设置。
服务概要
应用场景
使用指南
抓取页面
发起POST请求
错误码参考
服务限制与配额
服务限制
分钟配额
常见问题
收起
服务概要
应用场景
使用指南
服务限制与配额
常见问题
展开
服务概要
特别说明:SAE目前已经完全兼容cURL模块(内部用FetchURL实现),所以用户可以使用cURL*函数进行HTTP请求,兼容用户以往的使用习惯,使用户的学习成本降为零。所以我们推荐用户使用cURL*函数,以下关于FetchURL的文档仅供老用户参考。
FetchURL是SAE为开发者提供的分布式网页抓取服务,用来同步的抓取http页面,FetchURL针对国内的网络的做了优化,内部有调度系统,尽可能保证用户快速的抓取到目标页面。在SAE上使用FetchURL非常简单,只需要调用sae_std_lib中的几个简单的函数即可。但需要特别注意的是,为了平台安全性,SAE对FetchURL做了一些限制:
http连接超时<=5秒
send超时<=15秒
read超时<=20秒
http header禁用项:Content-Length、Host、Vary、Via、X-Forwarded-For、FetchUrl、AccessKey、TimeStamp、Signature、AllowTruncated、ConnectTimeout、SendTimeout、ReadTimeout
另外,SAE规定FetchURL的user-agent默认包含SAE/fetchurl-accesskey,其中accesskey是用户的accesskey,用户可以自行添加user-agent。Referer用户也可以自行定义。
应用场景
FetchURL适用的场景主要有:
1. 抓取http资源 2. 发送http rest请求 3. FetchURL支持https,并且支持重定向
使用指南
抓取页面
$f = new SaeFetchurl(); $content = $f->fetch('http://sina.cn');
发起POST请求
$f = new SaeFetchurl(); $f->setMethod('post'); $f->setPostData( array('name'=> 'easychen' , 'email' => 'easychen@gmail.com' , 'file' => '文件的二进制内容') ); $ret = $f->fetch('http://photo.sinaapp.com/save.php'); //抓取失败时输出错误码和错误信息 if ($ret === false) var_dump($f->errno(), $f->errmsg());
错误码参考
errno: 0 成功 errno: 600 fetchurl 服务内部错误 errno: 601 accesskey 不存在 errno: 602 认证错误,可能是secretkey错误 errno: 603 超出fetchurl的使用配额 errno: 604 REST 协议错误,相关的header不存在或其它错误,建议使用SAE提供的fetch_url函数 errno: 605 请求的URI格式不合法 errno: 606 请求的URI,服务器不可达
服务限制与配额
SAE设置服务限制和配额的目的是为了防止个别用户攻击和滥用,从而在公有云计算平台上保证绝大多数开发者的正常使用。
1. 服务限制和配额设定是在门户网站新浪自身长期运维的基础上经过严格计算得出的,所以正常使用一般不会出现问题。经过SAE实际统计,99%的应用不会受到任何影响
2. 当您发现您的某项服务超过限制或者超配时,请先阅读相关文档确认限制和配额的具体数值,再检查自己的程序是否存在使用不当的情况,如果仍然解决不了,可以和SAE官方联系,saeadmin@sina.cn
服务限制
connect_timeout | 5秒 |
send_timeout | 15秒 |
read_timeout | 20秒 |
抓取文件大小 | 8MB |
禁用头,这些头用户无法修改 | Content- Length、Host、Vary、Via、X-Forwarded-For、FetchUrl、AccessKey、TimeStamp、 Signature、AllowTruncated、ConnectTimeout、SendTimeout、ReadTimeout |
运行在SAE上的应用(App)将会消耗平台资源,为保证各App不互相影响,我们引入了*分钟配额*的概念,即:在每分钟内每个应用的各个服务所消耗 的 资源的速度。比如,当平台中的某个应用的MySQLl服务一分钟内累计请求数达到10万,或者流出宽带超过200M,我们将会立即禁掉该应用的MySQL 服务,禁用五分钟后,会自动恢复,避免影响到SAE平台的稳定性。服务因为超过“分钟配额”而被禁用时,会在“服务状态”看到该服务被禁用的原因是:OverMinuteQuota
服务 | 请求数 | cpu时间 | 流入带宽 | 流出带宽 |
Fetchurl | 100,000 | NA | 200MB | 200MB |
SAE平台出口IP:
220.181.129.126
220.181.129.121
220.181.136.229
220.181.136.230
http接口方需要IP授权可以进行相应的设置。
相关文章推荐
- Sina App Engine–使用Storage存储上传文件
- Sina App Engine数据存储服务架构
- 微信公众平台+Java+新浪云(SinaAppEngine)快速接入方法
- google 发布 Google App Engine 文档离线版
- 用Sina App Engine免费搭建自己的Discuz论坛
- sina app engine 新浪云计算平台,完备的PHP+MySQL开发平台
- Sina App Engine(SAE)入门教程(9)- SaeMail(邮件)使用
- Sina App Engine,有点意思
- 新浪发布应用引擎Sina App Engine
- Sina App Engine与Google App Engine区别对比
- Sina App Engine
- SinaAppEngine部署APP
- Sina App Engine与Google App Engine区别对比
- 新浪推出开放云计算平台Sina App Engine
- Sina App Engine—新浪的开放云计算平台
- Sina App Engine安装WordPress
- Sina App Engine与Google App Engine区别对比
- 第一个Django项目及部署到Sina App Engine
- (1)在sina app engine 上建个人博客
- Sina App Engine(SAE)入门教程