{"id":1344,"date":"2017-08-31T15:50:37","date_gmt":"2017-08-31T07:50:37","guid":{"rendered":"http:\/\/www.yueguangzu.net\/?p=1344"},"modified":"2017-08-31T15:51:31","modified_gmt":"2017-08-31T07:51:31","slug":"12306%e4%b8%93%e9%a2%98%e7%ac%ac%e4%ba%8c%e7%af%8712306%e7%9a%84%e9%aa%8c%e8%af%81%e7%a0%81","status":"publish","type":"post","link":"http:\/\/www.yueguangzu.net\/?p=1344","title":{"rendered":"[12306\u4e13\u9898]\u7b2c\u4e8c\u7bc712306\u7684\u9a8c\u8bc1\u7801"},"content":{"rendered":"<h4 class=\"md-end-block md-heading md-focus\"><span class=\"md-expand\">1.\u5904\u740612306\u7684\u9a8c\u8bc1\u7801<\/span><\/h4>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li>\n<h5 class=\"md-end-block md-heading\">\u9996\u5148\u572812306\u767b\u9646\u754c\u9762<span spellcheck=\"false\"><code>https:\/\/kyfw.12306.cn\/otn\/login\/init<\/code><\/span>,\u6309F12,\u9009\u4e2dNetwork\u9009\u9879\u5361,\u8f93\u5165\u7528\u6237\u540d\u548c\u5bc6\u7801.<\/h5>\n<\/li>\n<\/ul>\n<blockquote>\n<h5 class=\"md-end-block md-heading\">\u4e8b\u5b9e\u4e0a,12306\u5728\u8fdb\u884c\u7528\u6237\u767b\u9646\u7684\u65f6\u5019,\u67092\u4e2a\u8bf7\u6c42,\u7b2c\u4e00\u4e2a\u662f\u901a\u8fc7<span spellcheck=\"false\"><code>https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-check<\/code><\/span>\u6821\u9a8c\u9a8c\u8bc1\u7801\u662f\u5426\u6b63\u786e,\u5982\u679c\u6821\u9a8c\u901a\u8fc7\u4e86,\u624d\u4f1a\u8fdb\u884c\u7528\u6237\u540d\u548c\u5bc6\u7801\u786e\u8ba4.<\/h5>\n<\/blockquote>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named6.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named6.png\" \/><\/span><\/span><\/p>\n<h5 class=\"md-end-block md-heading\">1.1\u83b7\u53d612306\u7684\u9a8c\u8bc1\u7801<\/h5>\n<blockquote>\n<h5 class=\"md-end-block md-heading\">\u83b7\u53d612306\u7684\u9a8c\u8bc1\u7801\u662f\u901a\u8fc7GET\u8bf7\u6c42<span spellcheck=\"false\"><code>https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-image?login_site=E&amp;module=login&amp;rand=sjrand&amp;0.5724023240618408<\/code><\/span>\u83b7\u53d6\u9a8c\u8bc1\u7801\u56fe\u7247,\u8be5\u8bf7\u6c42\u5730\u5740\u4e2d\u7684\u65f6\u95f4\u6233\u6570\u636e<span spellcheck=\"false\"><code>&amp;0.5724023240618408<\/code><\/span>\u662f\u53ef\u4ee5\u53bb\u6389\u7684.<\/h5>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li>\n<h5 class=\"md-end-block md-heading\">\u56e012306\u6709https\u8bc1\u4e66\u7684\u9a8c\u8bc1,\u5728python\u4f1a\u62a5\u9519,\u800c\u8be5\u9a8c\u8bc1\u5728\u5f53\u524d\u662f\u53ef\u6709\u53ef\u65e0,\u6240\u4ee5\u9996\u5148\u9700\u8981\u5173\u95ed\u8fd9\u4e2a\u9a8c\u8bc1,\u5173\u95ed\u7684\u65b9\u6cd5\u662f\u5bfc\u5165ssl,\u7528<span spellcheck=\"false\"><code>ssl._create_default_https_context=ssl._create_unverified_context<\/code><\/span>\u5b9e\u73b0\u9ed8\u8ba4\u4e0d\u8fdb\u884c\u8bc1\u4e66\u9a8c\u8bc1.<\/h5>\n<\/li>\n<li>\n<h5 class=\"md-end-block md-heading\">\u8bbf\u95ee\u8be5\u5730\u5740\u8bf7\u6c42\u5230\u7684\u6570\u636e\u662f\u4e00\u4e2a\u4e8c\u8fdb\u5236\u56fe\u7247\u6587\u4ef6,\u6bcf\u4e00\u6b21\u8bf7\u6c42\u5230\u7684\u6570\u636e\u662f\u4e0d\u4e00\u6837\u7684.\u6240\u4ee5\u9700\u8981\u4fdd\u5b58\u5230code.png\u6587\u4ef6.\u8be5\u6587\u4ef6\u56e0\u4e3a\u5305\u542b\u4e86\u6821\u9a8c\u7684\u5b57\u7b26\u4e32\u548csession\u6570\u636e,\u7528\u4ee5\u4e0b\u4e00\u6b65\u89e3\u7801.<\/h5>\n<\/li>\n<\/ul>\n<\/blockquote>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">urllib2<\/span>,<span class=\"cm-variable\">ssl<\/span>\r\n\u200b\r\n<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_default_https_context<\/span>=<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_unverified_context<\/span>\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-image?login_site=E&amp;module=login&amp;rand=sjrand'<\/span>)\r\n<span class=\"cm-variable\">codeimg<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">urlopen<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-keyword\">with<\/span> <span class=\"cm-builtin\">open<\/span>(<span class=\"cm-string\">'code.png'<\/span>,<span class=\"cm-string\">'wb'<\/span>) <span class=\"cm-keyword\">as<\/span> <span class=\"cm-variable\">f<\/span>:\r\n \u00a0 \u00a0<span class=\"cm-variable\">f<\/span>.<span class=\"cm-property\">write<\/span>(<span class=\"cm-variable\">codeimg<\/span>)<\/pre>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named7.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named7.png\" \/><\/span><\/span><\/p>\n<h5 class=\"md-end-block md-heading\">1.2 12306\u7684\u9a8c\u8bc1\u7801\u8bf7\u6c42<\/h5>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li>\n<h5 class=\"md-end-block md-heading\">\u4e0b\u8f7d\u9a8c\u8bc1\u7801\u540e,\u9996\u5148\u662f\u8981\u7167\u846b\u82a6\u753b\u74e2\u7684\u539f\u5c01\u4e0d\u52a8\u7684\u6a21\u62df\u767b\u9646,\u6309\u7167\u9884\u671f\u7684\u7ed3\u679c,\u5e94\u8be5\u8fd4\u56de\u4e00\u4e2a\u9a8c\u8bc1\u7801\u6821\u9a8c\u5931\u8d25.<\/h5>\n<\/li>\n<\/ul>\n<blockquote>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li>\n<h5 class=\"md-end-block md-heading\">\u5728\u8fdb\u884c\u6821\u9a8c\u4e2d,\u6709\u4e09\u7ec4\u6570\u636eanswer,login_site,rand,\u5176\u4e2d\u53ea\u6709answer\u662f\u53d8\u5316\u7684.\u6240\u4ee5answer\u662f\u771f\u6b63\u7684\u9a8c\u8bc1\u7801\u6570\u636e<\/h5>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li>\n<h5 class=\"md-end-block md-heading\">data\u662f\u4e00\u4e2a\u5b57\u5178\u683c\u5f0f,\u9700\u8981\u7528<span spellcheck=\"false\"><code>urllib.urlencode<\/code><\/span>\u7f16\u7801\u6210\u5b57\u7b26\u4e32\u624d\u80fd\u53d1\u9001\u7ed9\u670d\u52a1\u5668.<\/h5>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/blockquote>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\">\r\n<span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">urllib<\/span>,<span class=\"cm-variable\">urllib2<\/span>,<span class=\"cm-variable\">ssl<\/span>\r\n\u200b\r\n<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_default_https_context<\/span>=<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_unverified_context<\/span>\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-image?login_site=E&amp;module=login&amp;rand=sjrand'<\/span>)\r\n<span class=\"cm-variable\">codeimg<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">urlopen<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-keyword\">with<\/span> <span class=\"cm-builtin\">open<\/span>(<span class=\"cm-string\">'code.png'<\/span>,<span class=\"cm-string\">'wb'<\/span>) <span class=\"cm-keyword\">as<\/span> <span class=\"cm-variable\">f<\/span>: <span class=\"cm-comment\">#\u5c06\u8bf7\u6c42\u6253\u5230\u7684\u9a8c\u8bc1\u7801\u4fdd\u5b58\u4e3acode.png<\/span>\r\n \u00a0 \u00a0<span class=\"cm-variable\">f<\/span>.<span class=\"cm-property\">write<\/span>(<span class=\"cm-variable\">codeimg<\/span>)\r\n\u200b\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-check'<\/span>)\r\n<span class=\"cm-variable\">data<\/span>={\r\n \u00a0 \u00a0<span class=\"cm-string\">'answer'<\/span>:<span class=\"cm-string\">'108,41'<\/span>,\r\n \u00a0 \u00a0<span class=\"cm-string\">'login_site'<\/span>:<span class=\"cm-string\">'E'<\/span>,\r\n \u00a0 \u00a0<span class=\"cm-string\">'rand'<\/span>:<span class=\"cm-string\">'sjrand'<\/span>,\r\n \u00a0  }\r\n<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">urlencode<\/span>(<span class=\"cm-variable\">data<\/span>)\r\n<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">urlopen<\/span>(<span class=\"cm-variable\">req<\/span>,<span class=\"cm-variable\">data<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-builtin\">print<\/span> <span class=\"cm-variable\">h<\/span><\/pre>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li><span class=\"md-line md-end-block\">\u200b \u4f46,\u8bf7\u6c42\u5230\u7684\u6570\u636e<span spellcheck=\"false\"><code>\"result_code\":\"8\"<\/code><\/span>\u548c\u752812306\u7f51\u7ad9\u76f4\u63a5\u64cd\u4f5c<span spellcheck=\"false\"><code>\"result_code\":\"5\"<\/code><\/span>\u7684\u7ed3\u679c\u4e0d\u4e00\u6837.\u8fd9\u662f\u4e3a\u4f55?<\/span><\/li>\n<\/ul>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named8.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named8.png\" \/><\/span><\/span><\/p>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li>\n<h5 class=\"md-end-block md-heading\">\u8fd9\u662f\u56e0\u4e3a,\u4f7f\u7528\u9ed8\u8ba4\u7684urllib2.urlopen\u65b9\u6cd5,\u6bcf\u4e00\u6b21\u7684\u8bf7\u6c42,\u90fd\u662f\u4e00\u6b21\u5168\u65b0\u7684\u8bf7\u6c42\u64cd\u4f5c.\u8fd9\u610f\u5473\u7740,\u8bf7\u6c42\u9a8c\u8bc1\u7801\u7684\u662f\u4e00\u53f0\u8bbe\u5907,\u8f93\u5165\u9a8c\u8bc1\u7801\u7684\u662f\u53e6\u4e00\u53f0\u8bbe\u5907,\u9a8c\u8bc1\u5f53\u7136\u4f1a\u901a\u4e0d\u8fc7.\u4e3a\u4e86\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898,\u6211\u4eec\u9700\u8981\u5f15\u5165<span spellcheck=\"false\"><code>cookielib<\/code><\/span>\u5e93,\u901a\u8fc7\u4f7f\u7528\u8fd9\u4e2a\u5e93\u4e0b\u9762\u7684<span spellcheck=\"false\"><code>LWPCookieJar<\/code><\/span>\u5bf9\u8c61,\u521b\u5efa\u6211\u4eec\u7684cookie\u5305.<\/h5>\n<\/li>\n<\/ul>\n<blockquote>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li>\n<h5 class=\"md-end-block md-heading\"><span spellcheck=\"false\"><code>c=cookielib.LWPCookieJar()<\/code><\/span>,\u5b9e\u9645\u4e0a\u5c31\u50cf\u4e70\u4e00\u4e2a\u5305\u5305,\u4e13\u95e8\u7528\u6765\u88c5\u94a5\u5319,\u8bbf\u95ee12306\u4e00\u6b21,\u7f51\u7ad9\u5c31\u4f1a\u53d1\u4e00\u6839\u94a5\u5319,\u4e0b\u6b21\u7ee7\u7eed\u8bf7\u6c42\u6539\u7f51\u7ad9,\u5c31\u9700\u8981\u7528\u94a5\u5319\u5f00\u95e8<\/h5>\n<\/li>\n<li>\n<h5 class=\"md-end-block md-heading\"><span spellcheck=\"false\"><code>cookie=urllib2.HTTPCookieProcessor(c)<\/code><\/span>,\u628a\u8fd9\u4e2a\u5305\u5305\u6302\u5728\u8eab\u4e0a,\u8ba9<span spellcheck=\"false\"><code>urllib2.HTTPCookieProcessor<\/code><\/span>\u8fd9\u4e2a\u5c0f\u59d0\u59d0(\u540d\u5b57\u53ebcookie)\u80cc\u7740\u5b83<\/h5>\n<\/li>\n<li>\n<h5 class=\"md-end-block md-heading\"><span spellcheck=\"false\"><code>opener=urllib2.build_opener(cookie)<\/code><\/span>,\u521b\u5efa\u4e00\u4e2aopener,\u8fd9\u4e2aopener\u5c31\u662f\u521a\u521a\u80cc\u5305\u7684\u5c0f\u59d0\u59d0,\u5b83\u62e5\u6709\u8fd9\u4e2a\u5305\u5305,\u53ef\u4ee5\u53bb\u7f51\u7ad9\u4e70\u4e1c\u897f\u4e4b\u524d\u770b\u597d\u7684\u4e1c\u897f<\/h5>\n<\/li>\n<li>\n<h5 class=\"md-end-block md-heading\"><span spellcheck=\"false\"><code>urllib2.install_opener(opener)<\/code><\/span> ,\u628a\u8fd9\u4e2a\u5c0f\u59d0\u59d0\u52a0\u5165\u5230urllib2\u8fd9\u4e2a\u7ec4\u7ec7,\u8ba9\u5979\u53ef\u4ee5\u968f\u610f\u8d2d\u7269.<\/h5>\n<\/li>\n<\/ul>\n<\/blockquote>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\">\r\n<span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">urllib<\/span>,<span class=\"cm-variable\">urllib2<\/span>,<span class=\"cm-variable\">ssl<\/span>,<span class=\"cm-variable\">cookielib<\/span>\r\n\u200b\r\n<span class=\"cm-variable\">c<\/span>=<span class=\"cm-variable\">cookielib<\/span>.<span class=\"cm-property\">LWPCookieJar<\/span>() \u00a0<span class=\"cm-comment\">#\u5b9e\u4f8b\u5316\u4e00\u4e2aLWPCookieJar\u5bf9\u8c61<\/span>\r\n<span class=\"cm-variable\">cookie<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">HTTPCookieProcessor<\/span>(<span class=\"cm-variable\">c<\/span>) <span class=\"cm-comment\">#\u5c06LWPCookieJar\u5bf9\u8c61c\u4ea4\u7ed9urllib2\u7684HTTPCookieProcessor\u5904\u7406<\/span>\r\n<span class=\"cm-variable\">opener<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">build_opener<\/span>(<span class=\"cm-variable\">cookie<\/span>) <span class=\"cm-comment\">#\u628a\u4e0a\u9762\u5b9e\u4f8b\u5316\u7684cookie\u5bf9\u8c61\u4ea4\u7ed9build_opener\u6765\u6784\u9020opener<\/span>\r\n<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">install_opener<\/span>(<span class=\"cm-variable\">opener<\/span>) <span class=\"cm-comment\">#\u5b89\u88c5opener\u5230urllib2,\u8ba9urllib2\u4e5f\u80fd\u4f7f\u7528\u5b83<\/span>\r\n\u200b\r\n<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_default_https_context<\/span>=<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_unverified_context<\/span>\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-image?login_site=E&amp;module=login&amp;rand=sjrand'<\/span>)\r\n<span class=\"cm-variable\">codeimg<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-keyword\">with<\/span> <span class=\"cm-builtin\">open<\/span>(<span class=\"cm-string\">'code.png'<\/span>,<span class=\"cm-string\">'wb'<\/span>) <span class=\"cm-keyword\">as<\/span> <span class=\"cm-variable\">f<\/span>:\r\n \u00a0 \u00a0<span class=\"cm-variable\">f<\/span>.<span class=\"cm-property\">write<\/span>(<span class=\"cm-variable\">codeimg<\/span>)\r\n\u200b\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-check'<\/span>)\r\n<span class=\"cm-variable\">data<\/span>={\r\n \u00a0 \u00a0<span class=\"cm-string\">'answer'<\/span>:<span class=\"cm-string\">'108,41'<\/span>,\r\n \u00a0 \u00a0<span class=\"cm-string\">'login_site'<\/span>:<span class=\"cm-string\">'E'<\/span>,\r\n \u00a0 \u00a0<span class=\"cm-string\">'rand'<\/span>:<span class=\"cm-string\">'sjrand'<\/span>,\r\n \u00a0  }\r\n<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">urlencode<\/span>(<span class=\"cm-variable\">data<\/span>)\r\n<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>,<span class=\"cm-variable\">data<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-builtin\">print<\/span> <span class=\"cm-variable\">h<\/span><\/pre>\n<ul class=\"ul-list\" data-mark=\"-\">\n<li>\n<h5 class=\"md-end-block md-heading\">\u5e26\u4e0acookie\u4e4b\u540e\u7684\u8bf7\u6c42\u5c31\u662f\u6b63\u786e\u7684,\u548c\u6211\u4eec\u9884\u671f\u7684\u4e00\u6837.<\/h5>\n<\/li>\n<\/ul>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named9.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named9.png\" \/><\/span><\/span><\/p>\n<h4 class=\"md-end-block md-heading\">2.\u89e3\u678412306\u9a8c\u8bc1\u7801<\/h4>\n<h5 class=\"md-end-block md-heading\">2.1\u5750\u6807\u7ed3\u6784\u7684\u9a8c\u8bc1\u7801<\/h5>\n<blockquote>\n<h5 class=\"md-end-block md-heading\">\u4e8b\u5b9e\u4e0a,12306\u7684\u9a8c\u8bc1\u7801,\u662f\u67098\u4e2a\u56fe\u7247\u7ec4\u6210,\u6bcf\u4e2a\u56fe\u7247\u8fdb\u884c\u70b9\u51fb\u7684\u65f6\u5019,\u4f1a\u51fa\u73b0\u4e00\u7ec4\u5750\u6807\u503c.\u8fd9\u7ec4\u5750\u6807\u503c\u6b63\u597d\u662f\u56fe\u7247\u76f8\u5bf9\u4e8e\u5de6\u4e0a\u89d2\u8fb9\u6846\u7684\u4f4d\u7f6e\u7684\u4e00\u7ec4x,y\u5750\u6807.\u4e3a\u4e86\u8bf4\u660e\u60c5\u51b5,\u4fee\u6539\u4ee3\u7801\u5c06\u9a8c\u8bc1\u7801\u4f5c\u4e3a\u624b\u8f93\u7684\u65b9\u5f0f<\/h5>\n<\/blockquote>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\">\r\n<span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">urllib<\/span>,<span class=\"cm-variable\">urllib2<\/span>,<span class=\"cm-variable\">ssl<\/span>,<span class=\"cm-variable\">cookielib<\/span>\r\n\u200b\r\n<span class=\"cm-variable\">c<\/span>=<span class=\"cm-variable\">cookielib<\/span>.<span class=\"cm-property\">LWPCookieJar<\/span>()\r\n<span class=\"cm-variable\">cookie<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">HTTPCookieProcessor<\/span>(<span class=\"cm-variable\">c<\/span>)\r\n<span class=\"cm-variable\">opener<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">build_opener<\/span>(<span class=\"cm-variable\">cookie<\/span>)\r\n<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">install_opener<\/span>(<span class=\"cm-variable\">opener<\/span>)\r\n\u200b\r\n<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_default_https_context<\/span>=<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_unverified_context<\/span>\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-image?login_site=E&amp;module=login&amp;rand=sjrand'<\/span>)\r\n<span class=\"cm-variable\">codeimg<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-keyword\">with<\/span> <span class=\"cm-builtin\">open<\/span>(<span class=\"cm-string\">'code.png'<\/span>,<span class=\"cm-string\">'wb'<\/span>) <span class=\"cm-keyword\">as<\/span> <span class=\"cm-variable\">f<\/span>:\r\n \u00a0 \u00a0<span class=\"cm-variable\">f<\/span>.<span class=\"cm-property\">write<\/span>(<span class=\"cm-variable\">codeimg<\/span>)\r\n<span class=\"cm-variable\">code<\/span>=<span class=\"cm-variable\">raw_input<\/span>(<span class=\"cm-string\">'&gt;&gt;'<\/span>) <span class=\"cm-comment\">#\u91c7\u7528code\u53d8\u91cf,\u63a5\u6536\u8f93\u5165\u7684\u9a8c\u8bc1\u7801<\/span>\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-check'<\/span>)\r\n<span class=\"cm-variable\">data<\/span>={\r\n \u00a0 \u00a0<span class=\"cm-string\">'answer'<\/span>:<span class=\"cm-variable\">code<\/span>, <span class=\"cm-comment\">#code\u662f\u521a\u624d\u8f93\u5165\u7684\u9a8c\u8bc1\u7801<\/span>\r\n \u00a0 \u00a0<span class=\"cm-string\">'login_site'<\/span>:<span class=\"cm-string\">'E'<\/span>,\r\n \u00a0 \u00a0<span class=\"cm-string\">'rand'<\/span>:<span class=\"cm-string\">'sjrand'<\/span>,\r\n \u00a0  }\r\n<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">urlencode<\/span>(<span class=\"cm-variable\">data<\/span>)\r\n<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>,<span class=\"cm-variable\">data<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-builtin\">print<\/span> <span class=\"cm-variable\">h<\/span><\/pre>\n<blockquote>\n<h5 class=\"md-end-block md-heading\">\u6267\u884c\u4ee3\u7801\u540e,\u8bf7\u6c42\u5230\u4e0b\u56fe,\u9700\u8981\u8f93\u5165\u526a\u7eb8.\u8fd9\u91cc\u6211\u4eec\u4f7f\u7528QQ\u81ea\u5e26\u7684\u622a\u56fe\u5de5\u5177,\u5e2e\u6211\u4eec\u786e\u8ba4\u9a8c\u8bc1\u7801\u7684\u4f4d\u7f6e.\u6839\u636e\u56fe\u7247\u7684\u8981\u6c42,\u67092\u5f20\u56fe\u7b26\u5408\u8981\u6c42,\u83b7\u53d6\u5230\u7684\u5750\u6807\u5bf9\u672a117,55,117,125<\/h5>\n<\/blockquote>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named10.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named10.png\" \/><\/span><\/span><\/p>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named11.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named11.png\" \/><\/span><\/span><\/p>\n<blockquote>\n<h5 class=\"md-end-block md-heading\">\u5c06\u9a8c\u8bc1\u7801\u8f93\u5165,\u63a5\u53e3\u8fd4\u56de\u4fe1\u606f\u9a8c\u8bc1\u7801\u6821\u9a8c\u6210\u529f,\u8bf4\u660e\u8fd9\u4e2a\u539f\u7406\u6ca1\u6bdb\u75c5.<\/h5>\n<\/blockquote>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named12.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named12.png\" \/><\/span><\/span><\/p>\n<h5 class=\"md-end-block md-heading\">2.2\u6a21\u62df\u767b\u9646<\/h5>\n<blockquote>\n<h5 class=\"md-end-block md-heading\">\u9a8c\u8bc1\u7801\u6821\u9a8c\u6210\u529f\u540e,\u5c31\u53ef\u4ee5\u53d1\u9001\u767b\u9646\u8bf7\u6c42,\u5426\u5219\u767b\u9646\u8bf7\u6c42\u4f1a\u88ab\u62d2\u7edd<\/h5>\n<\/blockquote>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-comment\">#-*-coding:utf-8-*-<\/span>\r\n<span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">urllib<\/span>,<span class=\"cm-variable\">urllib2<\/span>,<span class=\"cm-variable\">ssl<\/span>,<span class=\"cm-variable\">cookielib<\/span>,<span class=\"cm-variable\">json<\/span>\r\n\u200b\r\n<span class=\"cm-variable\">c<\/span>=<span class=\"cm-variable\">cookielib<\/span>.<span class=\"cm-property\">LWPCookieJar<\/span>()\r\n<span class=\"cm-variable\">cookie<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">HTTPCookieProcessor<\/span>(<span class=\"cm-variable\">c<\/span>)\r\n<span class=\"cm-variable\">opener<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">build_opener<\/span>(<span class=\"cm-variable\">cookie<\/span>)\r\n<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">install_opener<\/span>(<span class=\"cm-variable\">opener<\/span>)\r\n\u200b\r\n<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_default_https_context<\/span>=<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_unverified_context<\/span>\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-image?login_site=E&amp;module=login&amp;rand=sjrand'<\/span>)\r\n<span class=\"cm-variable\">codeimg<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-keyword\">with<\/span> <span class=\"cm-builtin\">open<\/span>(<span class=\"cm-string\">'code.png'<\/span>,<span class=\"cm-string\">'wb'<\/span>) <span class=\"cm-keyword\">as<\/span> <span class=\"cm-variable\">f<\/span>:\r\n \u00a0 \u00a0<span class=\"cm-variable\">f<\/span>.<span class=\"cm-property\">write<\/span>(<span class=\"cm-variable\">codeimg<\/span>)\r\n<span class=\"cm-variable\">code<\/span>=<span class=\"cm-variable\">raw_input<\/span>(<span class=\"cm-string\">'&gt;&gt;'<\/span>)\r\n\u200b\r\n<span class=\"cm-variable\">data<\/span>={\r\n \u00a0 \u00a0<span class=\"cm-string\">'answer'<\/span>:<span class=\"cm-variable\">code<\/span>,\r\n \u00a0 \u00a0<span class=\"cm-string\">'login_site'<\/span>:<span class=\"cm-string\">'E'<\/span>,\r\n \u00a0 \u00a0<span class=\"cm-string\">'rand'<\/span>:<span class=\"cm-string\">'sjrand'<\/span>,\r\n \u00a0  }\r\n<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">urlencode<\/span>(<span class=\"cm-variable\">data<\/span>)\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-check'<\/span>,<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">data<\/span>)\r\n<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">json<\/span>.<span class=\"cm-property\">loads<\/span>(<span class=\"cm-variable\">h<\/span>)\r\n<span class=\"cm-builtin\">print<\/span> <span class=\"cm-variable\">h<\/span>[<span class=\"cm-string\">'result_message'<\/span>]\r\n<span class=\"cm-keyword\">if<\/span> <span class=\"cm-variable\">h<\/span>[<span class=\"cm-string\">'result_code'<\/span>]==<span class=\"cm-string\">'4'<\/span>: <span class=\"cm-comment\">#\u8fd9\u91cc4\u662f\u9a8c\u8bc1\u7801\u6821\u9a8c\u901a\u8fc7\u7684\u610f\u601d,\u6821\u9a8c\u901a\u8fc7\u518d\u6267\u884c\u767b\u9646,\u5426\u5219\u4e0d\u767b\u9646<\/span>\r\n \u00a0 \u00a0<span class=\"cm-variable\">data<\/span>={\r\n \u00a0 \u00a0 \u00a0 \u00a0<span class=\"cm-string\">'username'<\/span>:<span class=\"cm-string\">'\u8fd9\u91cc\u66ff\u6362\u6210\u4f60\u768412306\u8d26\u53f7'<\/span>,\r\n \u00a0 \u00a0 \u00a0 \u00a0<span class=\"cm-string\">'password'<\/span>:<span class=\"cm-string\">'\u8fd9\u91cc\u66ff\u6362\u6210\u4f60\u768412306\u5bc6\u7801'<\/span>,\r\n \u00a0 \u00a0 \u00a0 \u00a0<span class=\"cm-string\">'appid'<\/span>:<span class=\"cm-string\">'otn'<\/span>,\r\n \u00a0 \u00a0 \u00a0  }\r\n \u00a0 \u00a0<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">urlencode<\/span>(<span class=\"cm-variable\">data<\/span>)\r\n \u00a0 \u00a0<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib2<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/web\/login'<\/span>,<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">data<\/span>)\r\n \u00a0 \u00a0<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n \u00a0 \u00a0<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">json<\/span>.<span class=\"cm-property\">loads<\/span>(<span class=\"cm-variable\">h<\/span>)\r\n \u00a0 \u00a0<span class=\"cm-builtin\">print<\/span> <span class=\"cm-variable\">h<\/span>[<span class=\"cm-string\">\"result_message\"<\/span>]<\/pre>\n<blockquote><p><span class=\"md-line md-end-block\">python3 \u7248\u672c<\/span><\/p><\/blockquote>\n<pre class=\"md-fences md-end-block\" lang=\"python\" contenteditable=\"false\"><span class=\"cm-comment\">#python3<\/span>\r\n<span class=\"cm-keyword\">import<\/span> <span class=\"cm-variable\">urllib<\/span>,<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">request<\/span>,<span class=\"cm-variable\">ssl<\/span>,<span class=\"cm-variable\">http<\/span>.<span class=\"cm-property\">cookiejar<\/span>,<span class=\"cm-variable\">json<\/span>\r\n\u200b\r\n<span class=\"cm-variable\">c<\/span>=<span class=\"cm-variable\">http<\/span>.<span class=\"cm-property\">cookiejar<\/span>.<span class=\"cm-property\">LWPCookieJar<\/span>()\r\n<span class=\"cm-variable\">cookie<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">request<\/span>.<span class=\"cm-property\">HTTPCookieProcessor<\/span>(<span class=\"cm-variable\">c<\/span>)\r\n<span class=\"cm-variable\">opener<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">request<\/span>.<span class=\"cm-property\">build_opener<\/span>(<span class=\"cm-variable\">cookie<\/span>)\r\n<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">request<\/span>.<span class=\"cm-property\">install_opener<\/span>(<span class=\"cm-variable\">opener<\/span>)\r\n\u200b\r\n<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_default_https_context<\/span>=<span class=\"cm-variable\">ssl<\/span>.<span class=\"cm-property\">_create_unverified_context<\/span>\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">request<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-image?login_site=E&amp;module=login&amp;rand=sjrand'<\/span>)\r\n<span class=\"cm-variable\">codeimg<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-keyword\">with<\/span> <span class=\"cm-builtin\">open<\/span>(<span class=\"cm-string\">'code.png'<\/span>,<span class=\"cm-string\">'wb'<\/span>) <span class=\"cm-keyword\">as<\/span> <span class=\"cm-variable\">f<\/span>:\r\n \u00a0 \u00a0<span class=\"cm-variable\">f<\/span>.<span class=\"cm-property\">write<\/span>(<span class=\"cm-variable\">codeimg<\/span>)\r\n<span class=\"cm-variable\">code<\/span>=<span class=\"cm-builtin\">input<\/span>(<span class=\"cm-string\">'&gt;&gt;'<\/span>)\r\n\u200b\r\n<span class=\"cm-variable\">data<\/span>={\r\n \u00a0 \u00a0<span class=\"cm-string\">'answer'<\/span>:<span class=\"cm-variable\">code<\/span>,\r\n \u00a0 \u00a0<span class=\"cm-string\">'login_site'<\/span>:<span class=\"cm-string\">'E'<\/span>,\r\n \u00a0 \u00a0<span class=\"cm-string\">'rand'<\/span>:<span class=\"cm-string\">'sjrand'<\/span>,\r\n \u00a0  }\r\n<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">parse<\/span>.<span class=\"cm-property\">urlencode<\/span>(<span class=\"cm-variable\">data<\/span>)\r\n<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">request<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/captcha\/captcha-check'<\/span>,<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">data<\/span>.<span class=\"cm-property\">encode<\/span>(<span class=\"cm-string\">'utf-8'<\/span>))\r\n<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">json<\/span>.<span class=\"cm-property\">loads<\/span>(<span class=\"cm-variable\">h<\/span>)\r\n<span class=\"cm-builtin\">print<\/span>(<span class=\"cm-variable\">h<\/span>[<span class=\"cm-string\">'result_message'<\/span>])\r\n<span class=\"cm-keyword\">if<\/span> <span class=\"cm-variable\">h<\/span>[<span class=\"cm-string\">'result_code'<\/span>]==<span class=\"cm-string\">'4'<\/span>: <span class=\"cm-comment\">#\u8fd9\u91cc4\u662f\u9a8c\u8bc1\u7801\u6821\u9a8c\u901a\u8fc7\u7684\u610f\u601d,\u6821\u9a8c\u901a\u8fc7\u518d\u6267\u884c\u767b\u9646,\u5426\u5219\u4e0d\u767b\u9646<\/span>\r\n \u00a0 \u00a0<span class=\"cm-variable\">data<\/span>={\r\n \u00a0 \u00a0 \u00a0 \u00a0<span class=\"cm-string\">'username'<\/span>:<span class=\"cm-string\">'\u8fd9\u91cc\u66ff\u6362\u6210\u4f60\u768412306\u8d26\u53f7'<\/span>,\r\n \u00a0 \u00a0 \u00a0 \u00a0<span class=\"cm-string\">'password'<\/span>:<span class=\"cm-string\">'\u8fd9\u91cc\u66ff\u6362\u6210\u4f60\u768412306\u5bc6\u7801'<\/span>,\r\n \u00a0 \u00a0 \u00a0 \u00a0<span class=\"cm-string\">'appid'<\/span>:<span class=\"cm-string\">'otn'<\/span>,\r\n \u00a0 \u00a0 \u00a0  }\r\n \u00a0 \u00a0<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">parse<\/span>.<span class=\"cm-property\">urlencode<\/span>(<span class=\"cm-variable\">data<\/span>)\r\n \u00a0 \u00a0<span class=\"cm-variable\">req<\/span>=<span class=\"cm-variable\">urllib<\/span>.<span class=\"cm-property\">request<\/span>.<span class=\"cm-property\">Request<\/span>(<span class=\"cm-string\">'https:\/\/kyfw.12306.cn\/passport\/web\/login'<\/span>,<span class=\"cm-variable\">data<\/span>=<span class=\"cm-variable\">data<\/span>.<span class=\"cm-property\">encode<\/span>(<span class=\"cm-string\">'utf-8'<\/span>))\r\n \u00a0 \u00a0<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">opener<\/span>.<span class=\"cm-property\">open<\/span>(<span class=\"cm-variable\">req<\/span>).<span class=\"cm-property\">read<\/span>()\r\n \u00a0 \u00a0<span class=\"cm-variable\">h<\/span>=<span class=\"cm-variable\">json<\/span>.<span class=\"cm-property\">loads<\/span>(<span class=\"cm-variable\">h<\/span>)\r\n \u00a0 \u00a0<span class=\"cm-builtin\">print<\/span>(<span class=\"cm-variable\">h<\/span>[<span class=\"cm-string\">\"result_message\"<\/span>])<\/pre>\n<blockquote>\n<h5 class=\"md-end-block md-heading\">\u7ecf\u8fc7\u6d4b\u8bd5,\u8f93\u5165\u6b63\u786e\u7684\u9a8c\u8bc1\u7801\u548c\u7528\u6237\u540d\u5bc6\u7801\u540e,\u6210\u529f\u7684\u767b\u9646\u4e8612306\u7cfb\u7edf.<\/h5>\n<\/blockquote>\n<p><span class=\"md-line md-end-block\"><span class=\"md-image md-img-loaded\" contenteditable=\"false\" data-src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named13.png\"><img style=\"box-sizing: border-box; border-width: 0px 4px 0px 2px; border-image: initial; vertical-align: middle; max-width: 100%; cursor: default; border-color: initial transparent initial transparent; border-style: initial solid initial solid;\" src=\"http:\/\/www.yueguangzu.net\/wp-content\/uploads\/2017\/08\/named13.png\" \/><\/span><\/span><\/p>\n<h2 class=\"md-end-block md-heading\">\u603b\u7ed3<\/h2>\n<blockquote>\n<h5 class=\"md-end-block md-heading\">\u672c\u6b21\u91cd\u70b9\u5206\u6790\u4e8612306\u7f51\u7ad9\u7684\u9a8c\u8bc1\u7801\u673a\u5236,\u5bf9\u4e8e12306\u9a8c\u8bc1\u7801\u5b9e\u73b0\u7684\u65b9\u5f0f\u505a\u4e86\u5206\u6790,\u5e76\u5bf9\u6784\u9020opener\u5bf9\u8c61\u65b9\u6cd5\u505a\u4e86\u8be6\u7ec6\u7684\u4e3e\u4f8b\u8bf4\u660e,\u5bf9\u4e8e\u66f4\u597d\u7684\u7406\u89e3python\u4f1a\u8bdd\u7684\u7406\u5ff5\u6709\u91cd\u8981\u7684\u610f\u4e49.<\/h5>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>1.\u5904\u740612306\u7684\u9a8c\u8bc1\u7801 \u9996\u5148\u572812306\u767b\u9646\u754c\u9762https:\/\/kyfw.12306.cn\/otn\/login\/init,\u6309F12,\u9009\u4e2dNetwork\u9009\u9879\u5361,\u8f93\u5165\u7528\u6237\u540d\u548c\u5bc6\u7801. \u4e8b\u5b9e\u4e0a,12306\u5728\u8fdb\u884c\u7528\u6237\u767b\u9646\u7684\u65f6\u5019,\u67092\u4e2a\u8bf7\u6c42,\u7b2c\u4e00\u4e2a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[54],"tags":[],"_links":{"self":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts\/1344"}],"collection":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1344"}],"version-history":[{"count":3,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts\/1344\/revisions"}],"predecessor-version":[{"id":1355,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=\/wp\/v2\/posts\/1344\/revisions\/1355"}],"wp:attachment":[{"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1344"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1344"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.yueguangzu.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}