<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "/style/html.dtd">
<?xml-stylesheet type="text/xsl" href="/style/view_news.xsl?ver=20100518"?>
<html>
	<head>
		<Title>HTTParty和ActiveSupport“离婚”了 - K166 商品社区</Title>
		<meta name="keywords" content="Rails,HTTParty,ActiveSupport " />
		<meta name="description" content="
我急切的想说， 这次“离婚”完全是友好的。 我爱ActiveSupport, 即使是那些仇视者抱怨，我也几乎在每个项目里都使用它。起初 ，HTTParty解析JSON和XML只是用ActiveSupport的built机制，而且它工作的很 " />
		<sidebar>
<a href="/home/index.php" icon="0">我的家</a>
<a href='/blog/help.xml' icon='24' add='发表' link='/blog/help.xml'>商品日志</a>
<a href='/photo/help.xml' icon='48' add='添加' link='/photo/help.xml'>生活贴图</a>
<a href='/record/help.xml' icon='72' add='发表' link='/record/help.xml'>消费记录</a>
<a href='/friend/help.xml' icon='96' add='查找' link='/friend/help.xml'>好友</a>
<a href='/vote/help.xml' icon='120' add='发起' link='/vote/help.xml'>投票</a>
<a href='/shopping/news-index-0.xml' icon='480'>时尚资讯</a>
		</sidebar>
		<login_id>-1</login_id><login_name>none</login_name><page_name>时尚资讯</page_name><page_icon>288</page_icon> <login_referer>/shopping/show-news-1311512-1.xml</login_referer>
		<search_type>news</search_type>
	</head>
	<Body>
		<total>0</total><topic_id>10345</topic_id><topic_name>其它资讯</topic_name>
		<h1>HTTParty和ActiveSupport“离婚”了 </h1>
		<prev><a href="/shopping/show-news-1311511-1.xml">未来的灾难 </a></prev>
		<next><a href="/shopping/show-news-1311513-1.xml">怒放的关联数据：你为什么应该关注？ </a></next>
		<topic_dir>
<![CDATA[
<a class='blue' href='/shopping/news-index-0.xml'>资讯首页</a> &raquo; <a class='blue' href='/shopping/news-index-10007.xml'>其它资讯</a> &raquo; <a class='blue' href='/shopping/news-topic-10106.xml'>公告推荐</a> &raquo; <a class='blue' href='/shopping/list-news-10345-1.xml'>科技</a> &raquo; HTTParty和ActiveSupport“离婚”了
]]>
		</topic_dir>
		<text>
<![CDATA[
<center><img src="http://photo.k166.org/"></center><br/>
我急切的想说， 这次“离婚”完全是友好的。 我爱ActiveSupport, 即使是那些仇视者抱怨，我也几乎在每个项目里都使用它。起初 ，HTTParty解析JSON和XML只是用ActiveSupport的built机制，而且它工作的很好。<br/>
一些人提出了ActiveSupport的问题，让我有点疑惑。疑惑完之后，我就开始思考这个问题，决定了如果我能用JSON gem并且找到一些比得上ActiveSupport的Hash#from_xml的东西，那么我移除ActiveSupport就没问题了。我做了一些研究，偶尔发现 extlib的 Hash#from_xml 很像ActiveSupport那个,?? 所以我在HTTParty 0.2.0里增强了XML的反序列化。<br/>
我移除了ActiveSupport的那些依赖并且加入了JSON gem。 然后我增加了一些核心扩展，换上了那个反序列化，HTTParty再一次回归自由。<br/>
别急，还有更多<br/>
所以只是单独的更新就值得写篇blog了，但是自从我第一次公布了HTTParty，就不只改过一次了。由于一些建议， 我显示少量的更新好点。<br/>
代理支持<br/>
感谢francxk, 你现在可以用代理了。<br/>
class MyProxyParty<br/>
 include HTTParty<br/>
 http_proxy 'proxyaddress.com', 80<br/>
end<br/>
使用 http_proxy 方法, 你可以设置你想用的代理地址和端口。就我个人而言，我从不使用代理，但是我认为是值得增加这么一个功能的。<br/>
基于文本类型的格式检查<br/>
当HTTParty发布的时候，如果你想用某种方式解析响应你不得不声明一个格式。例如，解析Twitter公共timeline的老方法：<br/>
class Twitter<br/>
 include HTTParty<br/>
format :json<br/>
end<br/>
Twitter.get('http://twitter.com/statuses/public_timeline.json')<br/>
随着响应按文本类型检测,新的方法就少了一行代码，同时少了一件需要记住的事情。<br/>
class Twitter<br/>
 include HTTParty<br/>
end<br/>
Twitter.get('http://twitter.com/statuses/public_timeline.json')<br/>
非常感谢 Jay Pignata。<br/>
自动重定向<br/>
Alex Vollmer 像一个夜晚的小偷一样溜进了HTTParty增加了重定向的自动支持。他增加的这个HTTParty自动跟随重定向上限是5个，超过5个会抛出一个HTTParty::RedirectionTooDeep 异常。可以像这样自由的提高或降低重定向限制：<br/>
class RedirectFollower<br/>
 include HTTParty<br/>
 base_uri 'http://someurlthatredirects.com'<br/>
end<br/>
RedirectFollower.get('/foo', :limit =&gt; 2)<br/>
HTML 格式<br/>
有一些人提到，他们希望一种不会更加文本类型自动解析响应的方法。简单的解决这个问题是允许一个html格式，并且确保在request里传入一个可选的参数。<br/>
class Twitter<br/>
 include HTTParty<br/>
end<br/>
puts Twitter.get('http://twitter.com/statuses/public_timeline.json', :format =&gt; :html)<br/>
这样即使以上请求的是一个JSON文本类型，它也不会当成JSON解析，只是返回 text/html文本类型的JSON。<br/>
HTTParty.get/post/put/delete<br/>
我最喜欢的一个增加的功能是由Eli Miller就在几天前提供的。我们聊天的时候他提到多么喜欢用HTTParty作为一种简单的net/http包装。几分钟之后，他发给我一个漂亮的添加， 他添加的这个功能允许使用HTTParty作为一个健全的net/http包装，不需要创建新类和inculeding?? HTTParty。 你现在使用一行代码就可以把Twitter public timeline变成一个ruby hash，感谢Eli的这个增加：<br/>
HTTParty.get('http://twitter.com/statuses/public_timeline.json')<br/>
是的，就这样。它会返回一个响应，检测到它是JSON,并且用JSON.parse去把这个响应变成一个Ruby hash。 这简直容易到极点了。。。<br/>
结论<br/>
好吧，所以现在标记“all”的你也没有理由不去用它了。用在Rails,Merb, Sinatra或者任何你用的其他框架，都不需要担心包含ActiveSupport的全部了。
]]>
		</text>
		<id>1311512</id><part_id>0</part_id><keyword>Rails,HTTParty,ActiveSupport </keyword><hits>23</hits><pubDate></pubDate><user_id></user_id><user_name></user_name>
		<news_topic>
		<a href="/shopping/news-index-0.xml" class="">资讯首页</a>
		<a href="/shopping/news-index-10001.xml" class="">衣帽服饰</a><a href="/shopping/news-index-10002.xml" class="">化妆美容</a><a href="/shopping/news-index-10003.xml" class="">数码电器</a><a href="/shopping/news-index-10004.xml" class="">装饰家居</a><a href="/shopping/news-index-10005.xml" class="">食品美食</a><a href="/shopping/news-index-10006.xml" class="">健康生活</a><a href="/shopping/news-index-10007.xml" class="current">其它资讯</a>
		</news_topic>
		<part>
		
		</part>
		<hot_news>
		<dt><a href="/shopping/show-news-1361312-1.xml">iPhone软件开发者注意了：有个Android软件开发者每月净赚13000美元 </a><img src="http://news.k166.org/6/223/1361312.20100312081417.jpg" /></dt>
		<dt><a href="/shopping/show-news-1361305-1.xml">[经济学人] 信息管理专题 | 太多了 </a><img src="http://news.k166.org/6/223/1361305.20100312081416.jpg" /></dt>
		<dt><a href="/shopping/show-news-1361304-1.xml">美国将公布互联网安全规则 </a><img src="/images/nologo.gif" /></dt>
		<dt><a href="/shopping/show-news-1361303-1.xml">一片没有谷歌的土地 </a><img src="/images/nologo.gif" /></dt>
		<dt><a href="/shopping/show-news-1361302-1.xml">【一分钟科普】回收利用医疗用品，一举两得！ </a><img src="http://news.k166.org/6/223/1361302.20100312080327.jpg" /></dt>
		<dt><a href="/shopping/show-news-1361155-1.xml">世界上最壮丽的地平线 </a><img src="http://news.k166.org/6/223/1361155.20100312080504.jpg" /></dt>
		<li><a href="/shopping/show-news-1311513-1.xml">怒放的关联数据：你为什么应该关注？ </a><img src="http://news.k166.org/6/124/1311513.20100308052443.jpg" /><dd>我们上周讨论了互联网的发展趋势，其中一个重要概念就是关联数据（linked data）,2009年将是关联数据之年。万维网发明者Tim Berner -Lee爵士今年早些时候曾在TED大会上提到关联数据。他说关联数据是和万维网的发明一样的巨 </dd></li>
		<li><a href="/shopping/show-news-1311514-1.xml">是谁编写Linux：美国公司 </a><img src="/images/nologo.gif" /><dd>我不知道为什么“只有0.10068％的Linux内核开发者领薪水”这种稀里糊涂的想法流传不息，但它确实在流传。所以，我只想一劳永逸地说，就绝大部分而言，Linux是由一些主要的美国公司雇用的软件工程师和程序员编写的。
 早在2008年4月， </dd></li>
		<li><a href="/shopping/show-news-1311515-1.xml">National Geographic：壁画里的阿努比斯 </a><img src="http://news.k166.org/6/124/1311515.20100312072706.jpg" /><dd>壁画里的阿努比斯

?????????? Sennedjem是古埃及从事法老坟墓的一个工匠，在那时他备受尊敬。他的墓穴于1886年在埃及帝王谷中被发现。这幅精美的壁画描述了豺头人身的阿努比斯（古埃及的死神）正在照料棺材里的Sennedjem </dd></li>
		<li><a href="/shopping/show-news-1311516-1.xml">冲压工序名称 </a><img src="/images/nologo.gif" /><dd>pierce?? 冲孔
notching?? 冲缺
trim?? 修边，切边
bending 弯曲
folding 折弯 pre -brake forming 模具压弯roll forming 滚弯 cam die bending 凸轮弯曲 </dd></li>
		<li><a href="/shopping/show-news-1311517-1.xml">XML出版：路在前方 </a><img src="/images/nologo.gif" /><dd>XML出版：路在前方
——永不过时、灵活和反复可用的内容创造
内容世界的规则可以归结为5R：再使用、再转用、再组合、
再排列，再返回。出版商正在以前所未有的速度推出越来越多的图书品种，如何在同一个地方管理所有的内容并灵活运用成为亟待解决的重 </dd></li>
		<li><a href="/shopping/show-news-1311518-1.xml">给Chrome增加扩展功能 </a><img src="/images/nologo.gif" /><dd>??
Google Chrome浏览器上个月告别了测试版，但是依然不支持RSS，不支持扩展，没有Mac版。要想让人们心甘情愿地离开火狐，投入Chorme的怀抱，Google还需要更多努力。?? </dd></li>
		<li><a href="/shopping/show-news-1311519-1.xml">手机短信助力南非的抗艾滋病斗争 </a><img src="http://news.k166.org/6/124/1311519.20100308052254.jpg" /><dd>
Photograph courte y Project Ma iluleke
=============================================================
来自缅因州卡姆登镇的Eichen e </dd></li>
		<li><a href="/shopping/show-news-1311520-1.xml">10个博客小技巧让你的博客在2009年更成功 </a><img src="/images/nologo.gif" /><dd>随着新网络运作模式的出现，博客这东西在很多人的眼里，已经带着一点点的“昨日黄花”的意味。我的意思是，它不再像Facebook那样“惹眼”；它不像 Twitter 那样简单也不像 MySpace 的页面那样出名。
撇开这些不谈，博客还是在网络 </dd></li>
		</hot_news>
		<pv><a href="/shopping/show-news-1311511-1.xml">未来的灾难 </a><img src="/images/nologo.gif" /></pv>
		<pv><a href="/shopping/show-news-1311510-1.xml">Head First C# 中文版 图文皆译 (page36~40) </a><img src="http://news.k166.org/6/124/1311510.20100312072628.jpg" /></pv>
		<pv><a href="/shopping/show-news-1311509-1.xml">环保预算无出路 </a><img src="/images/nologo.gif" /></pv>
		<pv><a href="/shopping/show-news-1311508-1.xml">苹果为什么拒绝使用PhoneGap开发的iPhone软件？ </a><img src="/images/nologo.gif" /></pv>
		<pv><a href="/shopping/show-news-1311507-1.xml">夏令时与心脏健康 </a><img src="http://news.k166.org/6/124/1311507.20100308052640.jpg" /></pv>
		<pv><a href="/shopping/show-news-1311506-1.xml">Head First C#中文版 图文皆译 （page26~30） </a><img src="http://news.k166.org/6/124/1311506.20100308054306.jpg" /></pv>
		<pv><a href="/shopping/show-news-1311505-1.xml">最大的秘密（4）：外星生命存在吗？ </a><img src="/images/nologo.gif" /></pv>
		<pv><a href="/shopping/show-news-1311504-1.xml">21世纪专属的电影学院 </a><img src="http://news.k166.org/6/124/1311504.20100308052252.jpg" /></pv>
		<pv><a href="/shopping/show-news-1311503-1.xml">Head First C# 中文版 图文皆译 第二章 page51~55 </a><img src="http://news.k166.org/6/124/1311503.20100308052443.jpg" /></pv>
		<pv><a href="/shopping/show-news-1311502-1.xml">博客营销之关键词分析全指南 </a><img src="/images/nologo.gif" /></pv>
		<keywords><a href="/shopping/news-tag-10268389-1.xml">Rails</a><a href="/shopping/news-tag-10276455-1.xml">HTTParty</a></keywords>

		<tags>
		<a href="/shopping/news-tag-10280000-1.xml" class="red">Steven</a>
		<a href="/shopping/news-tag-10272796-1.xml" class="black">灯泡</a>
		<a href="/shopping/news-tag-10272483-1.xml" class="blue">磁层</a>
		<a href="/shopping/news-tag-10279415-1.xml" class="green">Babbage</a>
		<a href="/shopping/news-tag-10273039-1.xml" class="normal">建筑风格</a>
		<a href="/shopping/news-tag-10301517-1.xml" class="">CBS</a>
		<a href="/shopping/news-tag-10300478-1.xml" class="brief">黎巴嫩</a>
		<a href="/shopping/news-tag-10272748-1.xml" class="red">风暴</a>
		<a href="/shopping/news-tag-10275531-1.xml" class="black">出口</a>
		<a href="/shopping/news-tag-10276678-1.xml" class="blue">页面</a>
		<a href="/shopping/news-tag-10270081-1.xml" class="green">环境保护</a>
		<a href="/shopping/news-tag-10275772-1.xml" class="normal">尘碗</a>
		<a href="/shopping/news-tag-10272326-1.xml" class="">证书</a>
		<a href="/shopping/news-tag-10270256-1.xml" class="brief">national</a>
		<a href="/shopping/news-tag-10274259-1.xml" class="red">办公环境</a>
		<a href="/shopping/news-tag-10279384-1.xml" class="black">超级地球</a>
		<a href="/shopping/news-tag-10270401-1.xml" class="blue">三一学院</a>
		<a href="/shopping/news-tag-10274492-1.xml" class="green">大富翁</a>
		</tags>
	</Body>
</html>
