perl 公交车查询
<pre name="code" class="cpp">decode_json 必须是unicode形式的字符,Dump不支持显示unicode形式的中文 只能 \x{xxxx}
use URI::Escape;
use Encode;
use JSON qw/encode_json decode_json/;
my $str="杭州";
my $str=uri_escape("$str");
print "\$str is $str\n";
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my @header = (
'accept'=> "application/json",
'content-type'=> "application/json",
'apikey'=> "3074a7f9926a4bbb484aa8bb366e5b87",
'User-Agent' => "Mozilla/8.0"
);
my $url = "http://apis.baidu.com/xiaota/bus_lines/buses_lines?city=$str&bus=$ARGV[0]&direction=$ARGV[1]";
$request = HTTP::Request->new(GET=>"$url");
$request->header(@header);
$response = $ua->request($request);
$content= $response->decoded_content;
$content =~ s/\\u([0-9a-fA-F]{4})/pack("U",,hex($1))/eg;
$content = encode_utf8($content);
my $json_out = $content ;
print $json_out;
##解码json数据
my $json_out = decode_json($content);
print "111111111111\n";
use Data::Dumper;
#my $json_out= Dumper($json_out->{data}->{stations});
#print $json_out;
#print "\n";
foreach (@{($json_out->{data}->{stations})}){print encode_utf8($_->{stateName})."\n";};
[root@dr-mysql01 ~]# perl x2.pl 307 1
$str is %E6%9D%AD%E5%B7%9E
{"code":1000,"msg":"success!","data":{"buses":[{"busId":0,"station":10,"state":0,"distance":246,"reporTime":1}],"stations":[{"station":1,"stateName":"黄龙体育中心"},{"station":2,"stateName":"教工路花园亭"},{"station":3,"stateName":"花园新村"},{"station":4,"stateName":"浙江工商大学"},{"station":5,"stateName":"保亭巷"},{"station":6,"stateName":"教工路塘河路口"},{"station":7,"stateName":"大关桥西"},{"station":8,"stateName":"长乐路"},{"station":9,"stateName":"二纺机总厂"},{"station":10,"stateName":"沈塘湾"},{"station":11,"stateName":"善贤社区"},{"station":12,"stateName":"善贤坝"},{"station":13,"stateName":"皋亭坝"},{"station":14,"stateName":"李王桥"},{"station":15,"stateName":"袁家村"},{"station":16,"stateName":"张家园"},{"station":17,"stateName":"杭玻"},{"station":18,"stateName":"焦化分厂"},{"station":19,"stateName":"沈家桥"},{"station":20,"stateName":"毛竹山"},{"station":21,"stateName":"薄板分厂"},{"station":22,"stateName":"刘文村"}]}}111111111111
黄龙体育中心
教工路花园亭
花园新村
浙江工商大学
保亭巷
教工路塘河路口
大关桥西
长乐路
二纺机总厂
沈塘湾
善贤社区
善贤坝
皋亭坝
李王桥
袁家村
张家园
杭玻
焦化分厂
沈家桥
毛竹山
薄板分厂
刘文村
perl 公交车查询的更多相关文章
- 2、perl模块查询安装否
1.Perl 中每个包有一个单独的符号表,定义语法为:package mypack; 此语句定义一个名为 mypack 的包,在此后定义的所有变量和子程序的名字都存贮在该包关联的符号表中,直到遇到另一 ...
- 6、perl创建模块(Exporter)及路径 引用 嵌套 查询模块
参考博客:http://www.cnblogs.com/xudongliang/tag/perl/ 1.perl 模块的创建以及制定perl 模块的路径 (1)创建一个Myfun.pm模块. #/us ...
- App应用与思考
我为什么没有加入苹果的iOS APP移动大军?http://blog.csdn.net/Code_GodFather/article/details/7956858 ----------------- ...
- Tcpdump MySQL Query
在MySQL线上环境我们一般只打开了binary log,slow log,有时我们需要查看general log呢?因为该log记录所有的请求,打开该日志肯定给磁盘造成很大压力,IO能力有所下降,所 ...
- tcpdump 学习(3):MySQL Query
在MySQL线上环境我们一般只打开了binary log,slow log,有时我们需要查看general log呢?因为该log记录所有的请求,打开该日志肯定给磁盘造成很大压力,IO能力有所下降,所 ...
- perl内置特殊变量查询
perl中有许多预定于的内置变量,想$_,$,,$>,等等,基本是记不住全部的用法,如果在因特网查阅,有很麻烦,信息不准啦,说的不细啦,但是,万能的perldoc早就帮我们准备好了. 你需要做的 ...
- Linux下MySQL慢查询分析mysqlsla安装使用
说明: 操作系统:CentOS 5.X 64位 MySQL版本:mysql-5.5.35 MySQL配置文件:/etc/my.cnf MySQL 数据库存放目录:/data/mysql 实现目的:开启 ...
- mysql慢查询日志分析工具 mysqlsla(转)
mysql数据库的慢查询日志是非常重要的一项调优辅助日志,但是mysql默认记录的日志格式阅读时不够友好,这是由mysql日志记录规则所决定的,捕获一条就记录一条,虽说记录的信息足够详尽,但如果将浏览 ...
- Mysql慢查询和慢查询日志分析
Mysql慢查询和慢查询日志分析 众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的.下面总结一些使用过或者研究过的经验,从配置以 ...
随机推荐
- Python成长之路第二篇(1)_数据类型内置函数用法
数据类型内置函数用法int 关于内置方法是非常的多这里呢做了一下总结 (1)__abs__(...)返回x的绝对值 #返回x的绝对值!!!都是双下划线 x.__abs__() <==> a ...
- 烧饼(nyoj779)
描述烧饼有两面,要做好一个兰州烧饼,要两面都弄热.当然,一次只能弄一个的话,效率就太低了.有这么一个大平底锅,一次可以同时放入k个兰州烧饼,一分钟能做好一面.而现在有n个兰州烧饼,至少需要多少分钟才能 ...
- 使用jquery处理ajax返回XML
JS代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3 ...
- python学习day10
目录 Twisted Redis RabbitMQ Twisted 事件驱动 事件驱动分为两个部分:第一,注册事件:第二,触发事件. 自定义事件启动框架,命名为:"弑君者" ...
- Matlab与.NET混编解决人脸识别问题
原文 http://www.cnblogs.com/asxinyu/archive/2013/05/29/3107013.html 如果这些文章对你有用,有帮助,期待更多开源组件介绍,请不要吝啬手中的 ...
- 【C++第二课】---C到C++的函数升级
C++中对C语言在函数使用方面做了很大的升级 一﹑内联函数 1.C++中推荐使用内联函数来替代宏片段代码 2.C++中使用关键字inline声明内联函数 例如: inline int func(int ...
- haproxy image跳转 haproxy匹配 匹配到了就停止,不会继续往下匹配
<pre name="code" class="html">/***第一种 nginx 配置: location / { root /var/www ...
- 从Linux终端管理进程:10个你必须知道的命令
从Linux终端管理进程:10个你必须知道的命令 Linux终端有一系列有用的命令.它们可以显示正在运行的进程.杀死进程和改变进程的优先级.本文列举了一些经典传统的命令和一些有用新颖的命令.本文提到的 ...
- HDU1875 畅通工程再续 (并查集)
畅通工程再续 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 【Java】使用Runtime执行其他程序
public class ExecDemo{ public static void main(String[] args) { Runtime r = Runtime.getRuntime(); Pr ...