网站建设华网天下公司如何判断网站是响应式的还是
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:49
当前位置: 首页 > news >正文
网站建设华网天下公司,如何判断网站是响应式的还是,随州哪里有网络推广方案,站酷网vi设计前段时间一直使用“车票无忧”在抢票#xff08;最开始觉得蛮好用#xff0c;而且没什么时间#xff0c;就先用着了。#xff09; 不管免费版还是收费版问题如下#xff1a; 1#xff09;不支针对同一批列车按席别优先级进行买票。#xff08;比如有卧铺买卧铺#xff… 前段时间一直使用“车票无忧”在抢票最开始觉得蛮好用而且没什么时间就先用着了。 不管免费版还是收费版问题如下 1不支针对同一批列车按席别优先级进行买票。比如有卧铺买卧铺没有卧铺买硬座硬座也没有买软卧在没有就买站票 2不支持对同一批列车按时间优先级进行买票。比如先买2月5号没有买2月4日再没有卖2月3日 PS因为买到一张不想要的票但是又过了放票时间所以开着“车票无忧”打断捡漏发现不符合个人需求。 所以打算最近抽出点时间来自己做一个自己的“火车票不发愁”工具(^__^) 嘻嘻…… 遇到问题 1)The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. 在request WebRequest.Create(url) as HttpWebRequest;之前加入 ServicePointManager.ServerCertificateValidationCallback new RemoteCertificateValidationCallback(CheckValidationResult); private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; //总是接受 } 2Post过去没有返回登录错误 跟踪报文发现包头不对加入如下包头后正常 request.Headers.Add(Pragma, no-cache); request.Headers.Add(Cache-Control, no-cache); request.Headers.Add(X-Requested-With, XMLHttpRequest); 第一步构建HttpHelper HttpHelper 1 using System;2 using System.Collections.Generic;3 using System.IO;4 using System.Linq;5 using System.Net;6 using System.Net.Security;7 using System.Security.Cryptography.X509Certificates;8 using System.Text;9 using System.Threading.Tasks;10 11 namespace WindowsFormsApplication112 {13 public class HttpHelper14 {15 private static readonly string DefaultUserAgent Mozilla/6.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120131 Firefox/14.0;16 /// summary 17 /// 创建GET方式的HTTP请求 18 /// /summary 19 /// param nameurl请求的URL/param 20 /// param nametimeout请求的超时时间/param 21 /// param nameuserAgent请求的客户端浏览器信息可以为空/param 22 /// param namecookies随同HTTP请求发送的Cookie信息如果不需要身份验证可以为空/param 23 /// returns/returns 24 public static HttpWebResponse CreateGetHttpResponse(string url, int? timeout, string userAgent, CookieCollection cookies, string Referer )25 {26 if (string.IsNullOrEmpty(url))27 {28 throw new ArgumentNullException(url);29 }30 31 HttpWebRequest request;32 if (url.StartsWith(https, StringComparison.OrdinalIgnoreCase))33 {34 ServicePointManager.ServerCertificateValidationCallback new RemoteCertificateValidationCallback(CheckValidationResult);35 request WebRequest.Create(url) as HttpWebRequest;36 request.ProtocolVersion HttpVersion.Version10;37 }38 else39 {40 request WebRequest.Create(url) as HttpWebRequest;41 }42 request.Method GET;43 request.Referer Referer;44 request.Accept text/html,application/xhtmlxml,application/xml;q0.9,/;q0.8;45 request.ContentType application/x-www-form-urlencoded;46 47 request.UserAgent DefaultUserAgent;48 if (!string.IsNullOrEmpty(userAgent))49 {50 request.UserAgent userAgent;51 }52 if (timeout.HasValue)53 {54 request.Timeout timeout.Value;55 }56 if (cookies ! null)57 {58 request.CookieContainer new CookieContainer();59 request.CookieContainer.Add(cookies);60 }61 return request.GetResponse() as HttpWebResponse;62 }63 /// summary 64 /// 创建POST方式的HTTP请求 65 /// /summary 66 /// param nameurl请求的URL/param 67 /// param nameparameters随同请求POST的参数名称及参数值字典/param 68 /// param nametimeout请求的超时时间/param 69 /// param nameuserAgent请求的客户端浏览器信息可以为空/param 70 /// param namerequestEncoding发送HTTP请求时所用的编码/param 71 /// param namecookies随同HTTP请求发送的Cookie信息如果不需要身份验证可以为空/param 72 /// returns/returns 73 public static HttpWebResponse CreatePostHttpResponse(string url, IDictionarystring, string parameters, int? timeout, string userAgent, Encoding requestEncoding, CookieCollection cookies, string Referer)74 {75 if (string.IsNullOrEmpty(url))76 {77 throw new ArgumentNullException(url);78 }79 if (requestEncoding null)80 {81 throw new ArgumentNullException(requestEncoding);82 }83 HttpWebRequest request null;84 //如果是发送HTTPS请求 85 if (url.StartsWith(https, StringComparison.OrdinalIgnoreCase))86 {87 ServicePointManager.ServerCertificateValidationCallback new RemoteCertificateValidationCallback(CheckValidationResult);88 request WebRequest.Create(url) as HttpWebRequest;89 request.ProtocolVersion HttpVersion.Version10;90 }91 else92 {93 request WebRequest.Create(url) as HttpWebRequest;94 }95 request.Method POST;96 request.Headers.Add(Accept-Language, zh-CN,en-GB;q0.5);97 98 if (cookies ! null)99 {
100 request.CookieContainer new CookieContainer();
101 request.CookieContainer.Add(cookies);
102 }
103
104 request.Headers.Add(Pragma, no-cache);
105 request.Headers.Add(Cache-Control, no-cache);
106 request.Headers.Add(X-Requested-With, XMLHttpRequest);
107 request.Accept text/html,application/xhtmlxml,application/xml;q0.9,/;q0.8;
108 request.ContentType application/x-www-form-urlencoded;
109 request.Referer Referer;
110
111 if (!string.IsNullOrEmpty(userAgent))
112 {
113 request.UserAgent userAgent;
114 }
115 else
116 {
117 request.UserAgent DefaultUserAgent;
118 }
119
120 if (timeout.HasValue)
121 {
122 request.Timeout timeout.Value;
123 }
124
125 request.Expect string.Empty;
126
127 //如果需要POST数据
128 if (!(parameters null || parameters.Count 0))
129 {
130 StringBuilder buffer new StringBuilder();
131 int i 0;
132 foreach (string key in parameters.Keys)
133 {
134 if (i 0)
135 {
136 buffer.AppendFormat({0}{1}, key, parameters[key]);
137 }
138 else
139 {
140 buffer.AppendFormat({0}{1}, key, parameters[key]);
141 }
142 i;
143 }
144 byte[] data requestEncoding.GetBytes(buffer.ToString());
145 using (Stream stream request.GetRequestStream())
146 {
147 stream.Write(data, 0, data.Length);
148 }
149 }
150 return request.GetResponse() as HttpWebResponse;
151 }
152
153 private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
154 {
155 return true; //总是接受
156 }
157 }
158 } 第二步登录首页获取Cookie 登录首页获取Cookie 1 private const string UrlMainPage https://dynamic.12306.cn/otsweb/main.jsp; 2 3 /// summary4 /// 登录首页获取Cookie5 /// /summary6 /// param nameuserAgent/param7 /// param namecookie/param8 public static void GetMainPage(int? timeout null, string userAgent null, CookieCollection cookie null)9 {
10 var response HttpHelper.CreateGetHttpResponse(UrlMainPage, timeout, userAgent, cookie ?? Cookies, );
11
12 cookies.Add(response.Cookies);
13 } 第三步获取登录验证码 获取登录验证码 1 private const string UrlLoginImage http://dynamic.12306.cn/otsweb/passCodeAction.do?randsjrand;2 3 /// summary4 /// 获取登录图片5 /// /summary6 /// param nameuserAgent/param7 /// param namecookie/param8 /// returns/returns9 public static Bitmap GetLoginImage(int? timeout null, string userAgent null, CookieCollection cookie null)
10 {
11 try
12 {
13 var response HttpHelper.CreateGetHttpResponse(UrlLoginImage, timeout, userAgent, cookie ?? Cookies);
14 Stream resStream response.GetResponseStream();//得到验证码数据流
15 return new Bitmap(resStream);//初始化Bitmap图片
16 }
17 catch (Exception)
18 {
19 return null;
20 }
21 } 第四步登录 12306的登录分两步 1登录http://dynamic.12306.cn/otsweb/loginAction.do?methodloginAysnSuggest页面获取登录随机码 返回Json格式例如{loginRand:421,randError:Y}。 2将信息Post到http://dynamic.12306.cn/otsweb/loginAction.do?methodlogin进行登录 为方便解析Json使用最近在研究的IronJs解析Json。 登录 1 private const string UrlLoginStep1 http://dynamic.12306.cn/otsweb/loginAction.do?methodloginAysnSuggest;2 private const string UrlLoginStep2 http://dynamic.12306.cn/otsweb/loginAction.do?methodlogin;3 4 /// summary5 /// 登录6 /// /summary7 /// param nameuserName/param8 /// param namepass/param9 /// param nameverificationCode/param
10 /// param nametimeout/param
11 /// param nameuserAgent/param
12 /// param namecookie/param
13 /// returns/returns
14 public static LoginResponse Login(string userName, string pass, string verificationCode
15 , int? timeout null, string userAgent null, CookieCollection cookie null)
16 {
17 // 获取登录随机验证码loginRand
18 string str ;
19 var response HttpHelper.CreateGetHttpResponse(UrlLoginStep1, timeout, userAgent, cookie ?? Cookies, http://dynamic.12306.cn/otsweb/loginAction.do?methodinit);
20 cookies.Add(response.Cookies);
21
22 try
23 {
24 using (StreamReader reader new StreamReader(response.GetResponseStream(), Encoding.UTF8))
25 {
26 str reader.ReadToEnd();
27 }
28
29 if (str.Length 50)
30 {
31 return new LoginResponse() { IsLogined false, Message 网络异常请稍后重试。, type ErrorType.NetworkError };
32 }
33 }
34 catch (Exception)
35 {
36 return new LoginResponse() { IsLogined false, Message 网络可能存在问题请您重试一下, type ErrorType.NetworkError };
37 }
38
39 // 解析第一次返回值获取登录随机验证码loginRand执行登录
40 var v new IronJS.Hosting.CSharp.Context();
41 string strJson var json str;
42 dynamic dy v.Execute(strJson);
43
44 Dictionarystring, string dic new Dictionarystring, string();
45 dic.Add(loginUser.user_name, userName);
46 dic.Add(nameErrorFocus, );
47 dic.Add(user.password, pass);
48 dic.Add(passwordErrorFocus, );
49 dic.Add(randCode, verificationCode);
50 dic.Add(randErrorFocus, );
51 dic.Add(loginRand, dy.loginRand);
52 response HttpHelper.CreatePostHttpResponse(UrlLoginStep2, dic, timeout, userAgent, Encoding.UTF8, cookie ?? Cookies, http://dynamic.12306.cn/otsweb/loginAction.do?methodinit);
53
54 cookies.Add(response.Cookies);
55
56 try
57 {
58 using (StreamReader reader new StreamReader(response.GetResponseStream(), Encoding.UTF8))
59 {
60 str reader.ReadToEnd();
61 }
62 }
63 catch (Exception)
64 {
65 return new LoginResponse() { IsLogined false, Message 网络可能存在问题请您重试一下, type ErrorType.NetworkError };
66 }
67
68 Regex logined new Regex([^]*? 您好);
69
70 Regex networkError new Regex(网络可能存在问题请您重试一下);
71
72 Regex verificationError new Regex(请输入正确的验证码);
73
74 Regex PasswordError new Regex(密码输入错误);
75
76 if (logined.IsMatch(str))
77 {
78 return new LoginResponse() { IsLogined true, Message , type ErrorType.None, LoginName logined.Matches(str)[0].Value };
79 }
80 else if (verificationError.IsMatch(str))
81 {
82 return new LoginResponse() { IsLogined false, Message 请输入正确的验证码, type ErrorType.NetworkError };
83 }
84 else if (networkError.IsMatch(str))
85 {
86 return new LoginResponse() { IsLogined false, Message 网络可能存在问题请您重试一下, type ErrorType.NetworkError };
87 }
88 else if (PasswordError.IsMatch(str))
89 {
90 return new LoginResponse() { IsLogined false, Message 密码错误, type ErrorType.PassordError };
91 }
92
93 return new LoginResponse() { IsLogined false, Message 未知错误, type ErrorType.OtherError };
94 } 实体类枚举 1 class LoginResponse 2 { 3 public bool IsLogined; 4 public string Message; 5 public string LoginName; 6 public ErrorType type; 7 } 8 9 public enum ErrorType 10 { 11 None, 12 NetworkError, 13 VerificationError, 14 PassordError, 15 OtherError 16 } 第五步获取常用联系人 获取常用联系人 1 private const string UrlFavoriteContacts http://dynamic.12306.cn/otsweb/passengerAction.do?methodgetPagePassengerAll; 2 3 /// summary4 /// 获取常用联系人5 /// /summary6 /// param nametimeout/param7 /// param nameuserAgent/param8 /// param namecookie/param9 public static ListContact GetFavoriteContacts(int pageIndex, int pageSize, out int count, int? timeout null, string userAgent null,
10 CookieCollection cookie null)
11 {
12 ListContact contacts new ListContact();
13 count 0;
14 Dictionarystring, string dic new Dictionarystring, string();
15 dic.Add(pageIndex, pageIndex.ToString());
16 dic.Add(pageSize, pageSize.ToString());
17 dic.Add(passenger_name, 请输入汉字或拼音首字母);
18 var response HttpHelper.CreatePostHttpResponse(UrlFavoriteContacts, dic, timeout, userAgent, Encoding.UTF8, cookie ?? Cookies, https://dynamic.12306.cn/otsweb/passengerAction.do?methodinitUsualPassenger12306);
19
20 cookies.Add(response.Cookies);
21 dynamic dy;
22 try
23 {
24 using (StreamReader reader new StreamReader(response.GetResponseStream(), Encoding.UTF8))
25 {
26 var str reader.ReadToEnd();
27
28 var v new IronJS.Hosting.CSharp.Context();
29 string strJson var json str;
30
31 dy v.Execute(strJson);
32
33 count (int)dy.recordCount;
34
35 for (int i 0; i dy.rows.length; i)
36 {
37 contacts.Add(new Contact()
38 {
39 Name dy.rows[i].passenger_name,
40 IdTypeName dy.rows[i].passenger_id_type_name,
41 IdNo dy.rows[i].passenger_id_no,
42 IdTypeCode dy.rows[i].passenger_id_type_code,
43 Mobile dy.rows[i].mobile_no,
44 PassengerTypeName dy.rows[i].passenger_type_name,
45 PassengerType dy.rows[i].passenger_type
46 });
47 }
48 }
49 }
50 catch (Exception)
51 {
52
53 }
54
55 return contacts;
56 } Winfrom页面调用 为了偷偷懒用了 Control.CheckForIllegalCrossThreadCalls false;高手们直接忽略吧。。 WinFrom调用 1 public partial class Form1 : Form2 {3 public Form1()4 {5 InitializeComponent();6 7 8 Control.CheckForIllegalCrossThreadCalls false;9
10 System.Threading.ThreadPool.QueueUserWorkItem((m)
11 {
12 _12306Class.GetMainPage(cookie: new CookieCollection());
13 GetLoginImage();
14 });
15 }
16
17 private void GetLoginImage()
18 {
19 pictureBox1.Image _12306Class.GetLoginImage();
20 }
21
22 private void button1_Click(object sender, EventArgs e)
23 {
24 System.Threading.ThreadPool.QueueUserWorkItem((m)
25 {
26 button1.Enabled false;
27
28 checkedListBox1.Items.Clear();
29
30 var v _12306Class.Login(textBox1.Text, textBox2.Text, textBox3.Text);
31 if (v.IsLogined)
32 {
33 int count 0;
34 int pageSize 7;
35 int pageIndex 0; ;
36 do
37 {
38 ListContact contacts _12306Class.GetFavoriteContacts(pageIndex, pageSize, out count);
39
40 foreach (var contact in contacts)
41 {
42 checkedListBox1.Items.Add(string.Format({0}\t{1}\t{2}, contact.Name, contact.IdTypeName, contact.IdNo));
43 }
44
45 } while ((pageIndex 1) * pageSize count);
46 }
47 else
48 {
49 MessageBox.Show(v.Message);
50 button1.Enabled true;
51 }
52 });
53 }
54
55 private void button2_Click(object sender, EventArgs e)
56 {
57 GetLoginImage();
58 }
59
60
61 } 交互报文 main.jsp 1 GET /otsweb/main.jsp HTTP/1.02 Accept: text/html,application/xhtmlxml,application/xml;q0.9,/;q0.83 Content-Type: application/x-www-form-urlencoded4 User-Agent: Mozilla/6.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120131 Firefox/14.05 Host: dynamic.12306.cn6 Connection: Keep-Alive7 8 9
10
11 —————————————————————-
12
13
14
15 HTTP/1.1 200 OK
16 Date: Wed, 30 Jan 2013 09:26:23 GMT
17 Server: Apache-Coyote/1.1
18 X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
19 Set-Cookie: JSESSIONIDDF8E17DA665A67ECD327B05D510EC3AA; Path/otsweb
20 Content-Type: text/html;charsetUTF-8
21 Set-Cookie: BIGipServerotsweb2513699082.36895.0000; path/
22 X-Cache: MISS from cache.51cdn.com
23 X-Via: 1.1 swdx14:8361 (Cdn Cache Server V2.0)
24 Connection: close passCodeAction.do 1 GET /otsweb/passCodeAction.do?randsjrand HTTP/1.12 Accept: text/html,application/xhtmlxml,application/xml;q0.9,/;q0.83 Content-Type: application/x-www-form-urlencoded4 User-Agent: Mozilla/6.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120131 Firefox/14.05 Host: dynamic.12306.cn6 Cookie: JSESSIONIDDF8E17DA665A67ECD327B05D510EC3AA; BIGipServerotsweb2513699082.36895.00007 8 ————————————————————————9
10 HTTP/1.1 200 OK
11 Date: Wed, 30 Jan 2013 09:26:27 GMT
12 Server: Apache-Coyote/1.1
13 X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
14 Pragma: No-cache
15 Cache-Control: no-cache
16 Expires: Thu, 01 Jan 1970 00:00:00 GMT
17 Content-Type: image/jpeg
18 Transfer-Encoding: chunked
19 X-Cache: MISS from cache.51cdn.com
20 X-Via: 1.1 swdx15:8361 (Cdn Cache Server V2.0)
21 Connection: keep-alive
22
23 21
24 PNG
25 loginAction.do 1 GET /otsweb/loginAction.do?methodloginAysnSuggest HTTP/1.12 Referer: http://dynamic.12306.cn/otsweb/loginAction.do?methodinit3 Accept: text/html,application/xhtmlxml,application/xml;q0.9,/;q0.84 Content-Type: application/x-www-form-urlencoded5 User-Agent: Mozilla/6.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120131 Firefox/14.06 Host: dynamic.12306.cn7 Cookie: JSESSIONIDDF8E17DA665A67ECD327B05D510EC3AA; BIGipServerotsweb2513699082.36895.00008 9
10
11 ———————————————————————
12
13
14 HTTP/1.1 200 OK
15 Date: Wed, 30 Jan 2013 09:26:33 GMT
16 Server: Apache-Coyote/1.1
17 X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
18 Pragma: no-cache
19 Cache-Control: no-cache
20 Expires: Wed, 31 Dec 1969 23:59:59 GMT
21 Content-Type: text/html;charsetUTF-8
22 Content-Length: 35
23 X-Cache: MISS from cache.51cdn.com
24 X-Via: 1.1 swdx15:8361 (Cdn Cache Server V2.0)
25 Connection: keep-alive
26
27 {loginRand:896,randError:Y} loginAction.do?methodlogin 1 POST /otsweb/loginAction.do?methodlogin HTTP/1.12 Accept-Language: zh-CN,en-GB;q0.53 Pragma: no-cache4 Cache-Control: no-cache5 X-Requested-With: XMLHttpRequest6 Accept: text/html,application/xhtmlxml,application/xml;q0.9,/;q0.87 Content-Type: application/x-www-form-urlencoded8 Referer: http://dynamic.12306.cn/otsweb/loginAction.do?methodinit9 User-Agent: Mozilla/6.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120131 Firefox/14.0
10 Host: dynamic.12306.cn
11 Cookie: JSESSIONIDDF8E17DA665A67ECD327B05D510EC3AA; BIGipServerotsweb2513699082.36895.0000
12 Content-Length: 142
13 Expect: 100-continue
14
15 loginUser.user_name253180123qq.comnameErrorFocususer.password12345678passwordErrorFocusrandCode94ctrandErrorFocusloginRand896
16
17
18
19 —————————————————————————–
20
21 HTTP/1.1 200 OK
22 Date: Wed, 30 Jan 2013 09:26:34 GMT
23 Server: Apache-Coyote/1.1
24 X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
25 Pragma: no-cache
26 Cache-Control: no-cache
27 Expires: Wed, 31 Dec 1969 23:59:59 GMT
28 Content-Type: text/html;charsetUTF-8
29 Transfer-Encoding: chunked
30 X-Cache: MISS from cache.51cdn.com
31 X-Via: 1.1 swdx15:8361 (Cdn Cache Server V2.0)
32 Connection: keep-alive
33
34 2000 passengerAction.do?methodgetPagePassengerAll 1 POST /otsweb/passengerAction.do?methodgetPagePassengerAll HTTP/1.12 Accept-Language: zh-CN,en-GB;q0.53 Pragma: no-cache4 Cache-Control: no-cache5 X-Requested-With: XMLHttpRequest6 Accept: text/html,application/xhtmlxml,application/xml;q0.9,/;q0.87 Content-Type: application/x-www-form-urlencoded8 Referer: https://dynamic.12306.cn/otsweb/passengerAction.do?methodinitUsualPassenger123069 User-Agent: Mozilla/6.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120131 Firefox/14.0
10 Host: dynamic.12306.cn
11 Cookie: JSESSIONIDDF8E17DA665A67ECD327B05D510EC3AA; BIGipServerotsweb2513699082.36895.0000
12 Content-Length: 71
13 Expect: 100-continue
14
15 pageIndex0pageSize7passenger_name请输入汉字或拼音首字母
16
17
18
19 ———————————————————————————–
20
21
22
23 HTTP/1.1 200 OK
24 Date: Wed, 30 Jan 2013 09:26:35 GMT
25 Server: Apache-Coyote/1.1
26 X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
27 Pragma: no-cache
28 Cache-Control: no-cache
29 Expires: Wed, 31 Dec 1969 23:59:59 GMT
30 Content-Type: text/html;charsetUTF-8
31 Content-Length: 1329
32 X-Cache: MISS from cache.51cdn.com
33 X-Via: 1.1 swdx15:8361 (Cdn Cache Server V2.0)
34 Connection: keep-alive
35
36 {recordCount:2,rows:[{address:,born_date:{date:25,day:0,hours:13,minutes:39,month:10,seconds:36,time:1353821976686,timezoneOffset:-480,year:112},code:1,country_code:,email:,first_letter:,isUserSelf:N,mobile_no:12345678901,old_passenger_id_no:,old_passenger_id_type_code:,old_passenger_name:,passenger_flag:0,passenger_id_no:123456789012345678,passenger_id_type_code:1,passenger_id_type_name:二代身份证,passenger_name:XX,passenger_type:1,passenger_type_name:成人,phone_no:,postalcode:,recordCount:2,sex_code:,sex_name:,studentInfo:null},{address:,born_date:{date:20,day:3,hours:0,minutes:0,month:5,seconds:0,time:645807600000,timezoneOffset:-540,year:90},code:2,country_code:CN,email:253180123qq.com,first_letter:COSMOKEY,isUserSelf:Y,mobile_no:12345678901,old_passenger_id_no:,old_passenger_id_type_code:,old_passenger_name:,passenger_flag:0,passenger_id_no:123456789012345678,passenger_id_type_code:1,passenger_id_type_name:二代身份证,passenger_name:XXX,passenger_type:1,passenger_type_name:成人,phone_no:,postalcode:,recordCount:2,sex_code:M,sex_name:男,studentInfo:null}]} 截图 Demo下载 转载于:https://www.cnblogs.com/comsokey/archive/2013/01/30/12306Task.html
- 上一篇: 网站建设后端技术景观设计师如何做网站
- 下一篇: 网站建设华威公司怎么样黑客软件
相关文章
-
网站建设后端技术景观设计师如何做网站
网站建设后端技术景观设计师如何做网站
- 技术栈
- 2026年04月20日
-
网站建设后端钉钉邮箱登录入口
网站建设后端钉钉邮箱登录入口
- 技术栈
- 2026年04月20日
-
网站建设后的心得wordpress登陆密码
网站建设后的心得wordpress登陆密码
- 技术栈
- 2026年04月20日
-
网站建设华威公司怎么样黑客软件
网站建设华威公司怎么样黑客软件
- 技术栈
- 2026年04月20日
-
网站建设华威公司怎么样网站建设一般用什么语言
网站建设华威公司怎么样网站建设一般用什么语言
- 技术栈
- 2026年04月20日
-
网站建设汇报会wordpress主题404
网站建设汇报会wordpress主题404
- 技术栈
- 2026年04月20日
