我想向百度的服务器请求数据 类似http://api.map.baidu.com/direction/v1?mode=driving&origin=&destination=北京大学&origin_region=北京&destination_region=北京&output=json&ak=E4805d16520de693a3fe707cdc962045清华大学 这样的 URL,请问怎么发送呢? 对 http 不太了解,貌似可以用 weary,httparty,net/http 来做,请问有木有应用的实例能学习一下。
贴代码了 #encoding:utf-8
require "open-uri" require "timeout" require 'rubygems' require "nokogiri"
uri = "http://api.map.baidu.com/direction/v1?mode=driving&origin=&destination=北京大学&origin_region=北京&destination_region=北京&output=xml&ak=E4805d16520de693a3fe707cdc962045上地五街" begin req = open(URI.escape(uri)).read doc = Nokogiri::XML(open(URI.escape(uri)), nil, 'utf-8') # doc.encoding = "utf-8" root = doc.root origin = root.xpath("result/origin/originPt") rescue StandardError,Timeout::Error, SystemCallError, Errno::ECONNREFUSED puts $! else puts origin.xpath("lng").text end
成功获取返回的数据并解决 xml 中文编码问题