分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

使用12306网站提供的接口,传入参数,解析数据,先发个链接给大家看看...

http://www.devapi.org/12306-Search-Train-Number.html

接口类型:

HTTP(POST) / UTF-8

接口返回值:

json

参数详解:

method=queryststrainall
   常量,表示车次查询。(此参数为get参数)

date=2013-1-1
   指定要查询的日期。

fromstation=BJP
   起始站代号,所有车站的代号字典,见文后附件“station_name.js”。

tostation=SHH
   终点站代号,同上。

starttim=00:00--24:00
   指定乘车时间区间。
   枚举:00:00--24:00,00:00--06:00,06:00--12:00,12:00--18:00,18:00--24:00。

HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。保留 POST 仅用于更新站点。POST 表示可能改变服务器上的资源的请求。每一个HTTP-GET和HTTP-POST都由HTTP请求头组成,这些请求头定义了客户端从服务器请求了什么。与HTTP-GET类似,HTTP-POST参数也是被URL编码的。然而,变量名/变量值不作为URL的一部分被传送,而是放在实际的HTTP请求消息内部被传送。POST是另一种取数据的方式,但是在请求的一开始浏览器要向服务器额外发送一些数据,例如cookie、用户名、密码等等,这些数据不体现在URL上,发送完毕后服务器再将数据(网页)传送给浏览器。

利用HTTP POST请求,发送URL和DATA,12306API接口接受请求,解析请求,返回相应的请求数据。如:

URL:http://dynamic.12306.cn/otsquery/query/queryRemanentTicketAction.do?method=queryststrainall

Data:date=2013-1-1&fromstation=BJP&tostation=SHH&starttime=00:00--24:00

CoontentType:application/x-www-form-urlencoded

传Data的时候有四个参数date是日期,fromstation是始发站,tostation是终点站,starttime是时间。总之,Data请求的数据,返回始发站和终点站在这个日期时间段内所有的列车班次信息。示例代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net;using System.Xml;using System.IO;namespace Address_Resolution{    class Program    {        static void Main(string[] args)        {            string formUrl ="http://dynamic.12306.cn/otsquery/query/queryRemanentTicketAction.do?method=queryststrainall";            string formData = "date=2013-1-1&fromstation=VNP&tostation=SHH&starttime=00:00--24:00";                        CookieContainer cookieContainer = new CookieContainer();            // 将提交的字符串数据转换成字节数组              byte[] postData = Encoding.UTF8.GetBytes(formData);            // 设置提交的相关参数              HttpWebRequest request = WebRequest.Create(formUrl) as HttpWebRequest;            Encoding myEncoding = Encoding.GetEncoding("gb2312");            request.Method = "POST";            request.KeepAlive = false;            request.AllowAutoRedirect = true;            request.ContentType = "application/x-www-form-urlencoded";            request.UserAgent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";            request.CookieContainer = cookieContainer;             request.ContentLength = postData.Length;            // 提交请求数据              System.IO.Stream outputStream = request.GetRequestStream();            outputStream.Write(postData, 0, postData.Length);             outputStream.Close();            HttpWebResponse response;             Stream responseStream;            StreamReader reader;             string srcString;            response = request.GetResponse() as HttpWebResponse;            responseStream = response.GetResponseStream();            reader = new System.IO.StreamReader(responseStream, Encoding.UTF8);            srcString = reader.ReadToEnd();            reader.Close();            Console.WriteLine(srcString);            Console.Read();        }    }}

<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

使用HTTP POST请求12306网站接口查询火车车次API相关推荐

  1. 12306——(二)火车车次查询API

    简介 使用12306网站的接口,查询余票.此接口采集自这里. Demo URL:http://dynamic.12306.cn/otsquery/query/queryRemanentTicketAc ...

  2. 微信小程序 通过云函数请求http网站接口

    微信小程序正式版无法调用http类型的API接口,只有htttps类型才可以通过验证,可以利用云函数避免这一难点.下面我会给出一个小案例. 原文地址:www.920vip.net/article/70 ...

  3. python模拟12306官网查询车站车次以及检票口

    # 车站对应代码 station_code = station.get_station_code(station_name) if station_code == None:response = Re ...

  4. Python之12306余票查询

    简单的Python学习,用Python完成一个12306余票查询- Python之12306余票查询 参考资料来自Python 实现火车票查询工具 需要用到的第三方库 requests,使用 Pyth ...

  5. python 爬取12306网站车次信息

    12306网站爬取车次信息 本想着可以做一个类似于查询详细车次信息的小工具,但是不尽人意,12306网站爬取的车次信息加密了,研究了一个下午也没有研究出其中全部的信息解密: 爬取的信息如下(举一个例子 ...

  6. python+splinter实现12306网站刷票并自动购票流程

    python+splinter实现12306网站刷票并自动购票流程 通过python+splinter,实现在12306网站刷票并自动购票流程(无法自动识别验证码). 此类程序只是提高了12306网站 ...

  7. python火车票查询工具tkinter_python 3.6 tkinter+urllib+json实现火车车次信息查询功能...

    一.概述 妹子工作时需要大量地查询火车车次至南京的信息,包括该车次到达站(南京站or南京南站).到达时间.出发时间等,然后根据这些信息做下一步工作. 版本结束,趁着间歇期,帮她弄了个简易的批量查询工具 ...

  8. 网站安全检测接口网站健康状况查询

    网站安全检测接口网站健康状况查询,网站安全等级说明.高危漏洞.严重漏洞.警告漏洞.提醒漏洞等,检测结果由 360网站安全检测 提供. 接口名称:网站安全检测接口 接口平台:公共api 接口地址:htt ...

  9. python爬虫网站接口的使用——将网页上的输入内容的接口转移到对应的爬虫中(通过爬虫查询相关网页的信息)

    python爬虫网站接口的使用 网站任何输入的对话框,都对应着相关的接口 找到接口对应的关键字,就可以使用爬虫输入关键字进行操作了 通过ip38网站实现爬虫查询ip归属地 登陆相关的网址,随便查询一个 ...

最新文章

  1. 从零开始学习docker(零)简单介绍Dockerfile
  2. 螺旋矩阵 IIPython解法
  3. Docker学习笔记之浅谈虚拟化和容器技术
  4. UNIX/Linux系统取证之信息采集案例
  5. 求n个排序链表的交集
  6. sql 的 where 和 having 的区别和用法
  7. 斯坦福公开课《机器学习》第五章SVM笔记
  8. TCPIP详解学习笔记-UDP协议
  9. 对SQLite数据库操作 操作db文件
  10. 一文教你如何解决TXC晶振工作不正常的问题
  11. Visual Studio Code编辑器的实用插件和工作中实用的技巧
  12. 英语数字听力训练精灵
  13. uniapp 微信小程序生成二维码
  14. python车牌识别_Python+Tensorflow+CNN实现车牌识别的示例代码
  15. 7款最好用的图片无损,视频无损压缩软件
  16. 什么是CRM客户管理系统?
  17. 骑行听音乐用什么耳机,盘点几款适合在出行佩戴的耳机
  18. 音频播放时小喇叭动画
  19. 单元测试:通过读取csv/xml数据并且结合使用allure展示测试报告,验证开发中的add()和reduct()操作(在@allure.story分别实现相加减)
  20. 用python做一个简单的投票程序_如何编写一个自动投票程序

热门文章

  1. js中字符串分割成数组split()方法
  2. 想创业不知道做什么好?尝试从这几个方面入手试试
  3. java 使用poi导出excel单元格中的内容自动换行
  4. CentOS7环境安装Kubernetes四部曲之一:标准化机器准备
  5. java 集成小米,华为推送
  6. 20230208-20230212工作及生活总结
  7. 微信登录APP失败,报错10012
  8. XP下自己动手重装IE6.0的3种方法(建议第三种,原创)
  9. 网页颜色搭配技巧 文字字体、字号、字体排版等
  10. LOL无限火力是哪个服务器先上线,LOL2018无限火力什么时候开启_LOL2018无限火力时间表_快吧游戏...