免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8286 | 回复: 6

http.get 返回是nill [复制链接]

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-06-12 06:20:00
发表于 2014-06-14 08:19 |显示全部楼层
  1. require 'net/http'
  2. require 'uri'


  3.   url_src='http://fs.fangjia.com/trend/quarterData?defaultCityName=%E4%BD%9B%E5%B1%B1'
  4.   
  5.   #url_src='http://www.baidu.com/'
  6.   headers= { "User-Agent" => "Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20140305 Firefox/28.0"}
  7.   
  8. uri = URI(url_src)
  9. http = Net::HTTP.new(uri.host, uri.port)
  10. http.get(uri.path, headers) do |chunk|
  11.   print chunk
  12. end
复制代码
上面的代码输出为nill  如果请求 http:/www.baidu.com ,又是正常的,这是什么原因

论坛徽章:
13
双鱼座
日期:2013-10-23 09:30:05数据库技术版块每日发帖之星
日期:2016-04-20 06:20:00程序设计版块每日发帖之星
日期:2016-03-09 06:20:002015亚冠之塔什干火车头
日期:2015-11-02 10:07:452015亚冠之德黑兰石油
日期:2015-08-30 10:07:07数据库技术版块每日发帖之星
日期:2015-08-28 06:20:00数据库技术版块每日发帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龙
日期:2014-12-03 14:45:52酉鸡
日期:2014-07-23 09:46:23亥猪
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
发表于 2014-06-15 11:23 |显示全部楼层
require('open-uri')
open('http://fs.fangjia.com/trend/quarterData?defaultCityName=%E4%BD%9B%20%E5%B1%B1') {|f| print f.read}

论坛徽章:
13
双鱼座
日期:2013-10-23 09:30:05数据库技术版块每日发帖之星
日期:2016-04-20 06:20:00程序设计版块每日发帖之星
日期:2016-03-09 06:20:002015亚冠之塔什干火车头
日期:2015-11-02 10:07:452015亚冠之德黑兰石油
日期:2015-08-30 10:07:07数据库技术版块每日发帖之星
日期:2015-08-28 06:20:00数据库技术版块每日发帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龙
日期:2014-12-03 14:45:52酉鸡
日期:2014-07-23 09:46:23亥猪
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
发表于 2014-06-15 11:35 |显示全部楼层
Net::HTTP.get('fs.fangjia.com','/trend/quarterData?defaultCityName=%E4%BD%9B%E5%B1%B1')这就好了

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-06-12 06:20:00
发表于 2014-06-15 11:42 |显示全部楼层
回复 2# bikong0411


    能传header进去吗?

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-06-12 06:20:00
发表于 2014-06-15 11:48 |显示全部楼层
本帖最后由 yakczh_cu 于 2014-06-15 11:49 编辑

回复 3# bikong0411


    我参照的这个代码  http://stackoverflow.com/questio ... th-modified-headers
  要传ua进去 ,但是
  1. httpcall = Net::HTTP.new('fs.fangjia.com', 80)

  2. resp, data = httpcall.get2('/trend/quarterData?defaultCityName=%E4%BD%9B%E5%B1%B', "User-Agent" => "Opera/9.80")
复制代码
puts resp 结果是 #<Net::HTTPOK:0x1f3fd58>
puts resp.code   200
puts resp.message  OK

puts resp.body 结果是null

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-06-12 06:20:00
发表于 2014-06-15 12:14 |显示全部楼层
本帖最后由 yakczh_cu 于 2014-06-15 13:56 编辑

回复 3# bikong0411


    照着 http://ruby-doc.org/stdlib-2.1.1 ... ethod-i-request_get 上面的例子

  1. require 'net/http'
  2. host='fs.fangjia.com'
  3. port=80
  4. path='/trend/quarterData?defaultCityName=%E4%BD%9B%E5%B1%B1'
  5. headers = {

  6.   "User-Agent" => "Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0 "}

  7. puts 'http://'+host+path;

  8. http = Net::HTTP.new(host,port)
  9. response = http.request_get(path,headers)
  10. # The entity body is already read in this case.

  11. puts response.body

  12. # Using a block
  13. http.request_get(path) {|response|
  14.   p response['content-type']
  15.   response.read_body do |str|   # read body now
  16.     print str
  17.   end
  18. }
复制代码
也是null

论坛徽章:
13
双鱼座
日期:2013-10-23 09:30:05数据库技术版块每日发帖之星
日期:2016-04-20 06:20:00程序设计版块每日发帖之星
日期:2016-03-09 06:20:002015亚冠之塔什干火车头
日期:2015-11-02 10:07:452015亚冠之德黑兰石油
日期:2015-08-30 10:07:07数据库技术版块每日发帖之星
日期:2015-08-28 06:20:00数据库技术版块每日发帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龙
日期:2014-12-03 14:45:52酉鸡
日期:2014-07-23 09:46:23亥猪
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
发表于 2014-06-16 09:47 |显示全部楼层
uri = URI('http://fs.fangjia.com/trend/quarterData?defaultCityName=%E4%BD%9B%20%E5%B1%B1')
req = Net::HTTP::Get.new(uri)
req["User-Agent"]="Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0 "
res = Net::HTTP.start(uri.hostname, uri.port) {|http|
  http.request(req)
}
puts res.body
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP