mirror of https://github.com/testerSunshine/12306
margen
parent
b1ab036026
commit
f0fea7cba7
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MarkdownExportedFiles">
|
||||
<htmlFiles />
|
||||
<imageFiles />
|
||||
<otherFiles />
|
||||
</component>
|
||||
</project>
|
|
@ -2,18 +2,18 @@
|
|||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="79a86edc-721f-4aad-920d-b595d0348b7f" name="Default" comment="test version">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/emailConf.py" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/urlConf.py" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/myException/UserPasswordException.py" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/markdown-exported-files.xml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/agency/cdn_list" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/agency/cdn_utils.py" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/cdn_list" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/tkcode" afterPath="$PROJECT_DIR$/tkcode" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/ticketConf.py" afterPath="$PROJECT_DIR$/config/ticketConf.py" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/ticket_config.yaml" afterPath="$PROJECT_DIR$/config/ticket_config.yaml" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/urlConf.py" afterPath="$PROJECT_DIR$/config/urlConf.py" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/damatuCode/ruokuai.py" afterPath="$PROJECT_DIR$/damatuCode/ruokuai.py" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/init/login.py" afterPath="$PROJECT_DIR$/init/login.py" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/init/select_ticket_info.py" afterPath="$PROJECT_DIR$/init/select_ticket_info.py" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/myUrllib/httpUtils.py" afterPath="$PROJECT_DIR$/myUrllib/httpUtils.py" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/myUrllib/myurllib2.py" afterPath="$PROJECT_DIR$/myUrllib/myurllib2.py" />
|
||||
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/run.py" afterPath="$PROJECT_DIR$/run.py" />
|
||||
</list>
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
|
@ -27,6 +27,7 @@
|
|||
<SUITE FILE_PATH="coverage/12306$12306__2_.coverage" NAME="12306 (2) Coverage Results" MODIFIED="1495725009419" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/login" />
|
||||
<SUITE FILE_PATH="coverage/12306$run.coverage" NAME="run Coverage Results" MODIFIED="1515392744396" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/yixing" />
|
||||
<SUITE FILE_PATH="coverage/12306$12306__1_.coverage" NAME="12306 (1) Coverage Results" MODIFIED="1495724916012" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/12306login" />
|
||||
<SUITE FILE_PATH="coverage/12306$cdn_utils.coverage" NAME="cdn_utils Coverage Results" MODIFIED="1517114100608" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/agency" />
|
||||
<SUITE FILE_PATH="coverage/12306$12306test.coverage" NAME="12306test Coverage Results" MODIFIED="1502779393809" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/yixing/myUrllib" />
|
||||
<SUITE FILE_PATH="coverage/12306$select_ticket_info.coverage" NAME="select_ticket_info Coverage Results" MODIFIED="1515251193898" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/yixing/init" />
|
||||
<SUITE FILE_PATH="coverage/12306$test.coverage" NAME="test Coverage Results" MODIFIED="1495722875742" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/12306login" />
|
||||
|
@ -35,7 +36,7 @@
|
|||
<SUITE FILE_PATH="coverage/12306$ticketConf.coverage" NAME="ticketConf Coverage Results" MODIFIED="1515140061195" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/yixing/config" />
|
||||
<SUITE FILE_PATH="coverage/12306$login.coverage" NAME="login Coverage Results" MODIFIED="1501571219088" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/yixing/init" />
|
||||
<SUITE FILE_PATH="coverage/12306$tiket.coverage" NAME="tiket Coverage Results" MODIFIED="1495973122962" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/yixing" />
|
||||
<SUITE FILE_PATH="coverage/12306$run__1_.coverage" NAME="run (1) Coverage Results" MODIFIED="1515677925213" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||
<SUITE FILE_PATH="coverage/12306$run__1_.coverage" NAME="run (1) Coverage Results" MODIFIED="1517114081921" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||
<SUITE FILE_PATH="coverage/12306$haha.coverage" NAME="haha Coverage Results" MODIFIED="1515250987704" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/yixing" />
|
||||
<SUITE FILE_PATH="coverage/12306$12306.coverage" NAME="12306 Coverage Results" MODIFIED="1495722251078" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
|
||||
</component>
|
||||
|
@ -50,8 +51,8 @@
|
|||
<file leaf-file-name="login.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/init/login.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2030">
|
||||
<caret line="145" column="28" lean-forward="false" selection-start-line="141" selection-start-column="7" selection-end-line="145" selection-end-column="28" />
|
||||
<state relative-caret-position="178">
|
||||
<caret line="225" column="0" lean-forward="false" selection-start-line="225" selection-start-column="0" selection-end-line="225" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#41#54#0" expanded="true" />
|
||||
</folding>
|
||||
|
@ -59,62 +60,28 @@
|
|||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="damatuWeb.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py">
|
||||
<file leaf-file-name="cdn_list" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/cdn_list">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="294">
|
||||
<caret line="21" column="43" lean-forward="false" selection-start-line="21" selection-start-column="43" selection-end-line="21" selection-end-column="43" />
|
||||
<folding>
|
||||
<element signature="e#24#38#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="run.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/run.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="84">
|
||||
<caret line="6" column="33" lean-forward="false" selection-start-line="6" selection-start-column="33" selection-end-line="6" selection-end-column="33" />
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ticketConf.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/config/ticketConf.py">
|
||||
<file leaf-file-name="httpUtils.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/myUrllib/httpUtils.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="168">
|
||||
<caret line="12" column="7" lean-forward="true" selection-start-line="12" selection-start-column="7" selection-end-line="12" selection-end-column="7" />
|
||||
<state relative-caret-position="150">
|
||||
<caret line="92" column="0" lean-forward="false" selection-start-line="92" selection-start-column="0" selection-end-line="92" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#46#55#0" expanded="true" />
|
||||
<element signature="e#23#38#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="select_ticket_info.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-456">
|
||||
<caret line="204" column="16" lean-forward="true" selection-start-line="204" selection-start-column="16" selection-end-line="204" selection-end-column="16" />
|
||||
<folding>
|
||||
<element signature="e#23#34#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ticket_config.yaml" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/config/ticket_config.yaml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="44">
|
||||
<caret line="56" column="9" lean-forward="false" selection-start-line="56" selection-start-column="9" selection-end-line="56" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="requirements.txt" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/requirements.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
|
@ -125,11 +92,67 @@
|
|||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ticketNumOutException.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/myException/ticketNumOutException.py">
|
||||
<file leaf-file-name="select_ticket_info.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="27" lean-forward="false" selection-start-line="0" selection-start-column="27" selection-end-line="0" selection-end-column="27" />
|
||||
<state relative-caret-position="213">
|
||||
<caret line="356" column="30" lean-forward="true" selection-start-line="356" selection-start-column="30" selection-end-line="356" selection-end-column="30" />
|
||||
<folding>
|
||||
<element signature="e#23#34#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="cdn_list" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/agency/cdn_list">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="553">
|
||||
<caret line="87" column="54" lean-forward="false" selection-start-line="87" selection-start-column="40" selection-end-line="87" selection-end-column="54" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ticket_config.yaml" pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/config/ticket_config.yaml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="602">
|
||||
<caret line="86" column="9" lean-forward="false" selection-start-line="86" selection-start-column="9" selection-end-line="86" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="cdn_utils.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/agency/cdn_utils.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="544">
|
||||
<caret line="100" column="0" lean-forward="true" selection-start-line="100" selection-start-column="0" selection-end-line="100" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#16#27#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="urlConf.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/config/urlConf.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-9">
|
||||
<caret line="91" column="21" lean-forward="true" selection-start-line="91" selection-start-column="21" selection-end-line="91" selection-end-column="21" />
|
||||
<folding>
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="run.py" pinned="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/run.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="140">
|
||||
<caret line="10" column="0" lean-forward="false" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
@ -146,36 +169,36 @@
|
|||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find>长沙</find>
|
||||
<find>_json_att</find>
|
||||
<find>myurllib2</find>
|
||||
<find>订单提交中,请耐心等待</find>
|
||||
<find>乘车人</find>
|
||||
<find>用户</find>
|
||||
<find>log</find>
|
||||
<find>车次获取信息为空</find>
|
||||
<find>正在尝试提交订票</find>
|
||||
<find>time</find>
|
||||
<find>getPassengerDTOs</find>
|
||||
<find>排队成功, 当前余票还剩余</find>
|
||||
<find>出票成功!</find>
|
||||
<find>queryOrderWaitTime</find>
|
||||
<find>正在排队中,请耐心等待.</find>
|
||||
<find>正在排队中,请耐心等待...</find>
|
||||
<find>正在执行第1次查询</find>
|
||||
<find>正在执行</find>
|
||||
<find>select_refresh_interval</find>
|
||||
<find>leftTicketLog</find>
|
||||
<find>车次配置</find>
|
||||
<find>_station_</find>
|
||||
<find>尝试提交订单</find>
|
||||
<find>getQueueCount</find>
|
||||
<find>尝试提交订单...</find>
|
||||
<find>恭喜您订票成功</find>
|
||||
<find>checkRandCodeAnsyn</find>
|
||||
<find>ticketIsExitsException(submitResult['messages'][0])</find>
|
||||
<find>ticketIsExitsException</find>
|
||||
<find>该车次小于上次提交时间</find>
|
||||
<find>学生票</find>
|
||||
<find>checkRandCodeAnsyn</find>
|
||||
<find>select_refresh_interval</find>
|
||||
<find>checkOrderInfoUrl</find>
|
||||
<find>passenger</find>
|
||||
<find>checkOrderInfo</find>
|
||||
<find>resultOrderForDcQueue</find>
|
||||
<find>expect_refresh_interval</find>
|
||||
<find>validateMessages</find>
|
||||
<find>init</find>
|
||||
<find>submitOrderRequest</find>
|
||||
<find>initdc_url</find>
|
||||
<find>confirmSingleForQueue</find>
|
||||
<find>initDc</find>
|
||||
<find>secretStr</find>
|
||||
<find>time</find>
|
||||
<find>state</find>
|
||||
<find>autoSubmitOrderRequest</find>
|
||||
<find>checkQueueOrderUrl</find>
|
||||
<find>map</find>
|
||||
<find>cdn_list</find>
|
||||
<find>req_url</find>
|
||||
<find>func</find>
|
||||
<find>is_logger</find>
|
||||
<find>is_logg</find>
|
||||
<find>超时</find>
|
||||
<find>118.180.15.113</find>
|
||||
</findStrings>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
|
@ -212,7 +235,6 @@
|
|||
<option value="$PROJECT_DIR$/yixing/myUrllib/myurllib2.py" />
|
||||
<option value="$PROJECT_DIR$/yixing/myException/ticketIsExitsException.py" />
|
||||
<option value="$PROJECT_DIR$/yixing/requirements.txt" />
|
||||
<option value="$PROJECT_DIR$/README.md" />
|
||||
<option value="$PROJECT_DIR$/yixing/run.py" />
|
||||
<option value="$PROJECT_DIR$/yixing/config/ticket_config.yaml" />
|
||||
<option value="$PROJECT_DIR$/yixing/init/select_ticket_info.py" />
|
||||
|
@ -220,10 +242,20 @@
|
|||
<option value="$PROJECT_DIR$/yixing/init/login.py" />
|
||||
<option value="$PROJECT_DIR$/config/ticketConf.py" />
|
||||
<option value="$PROJECT_DIR$/myException/ticketNumOutException.py" />
|
||||
<option value="$PROJECT_DIR$/.gitignore" />
|
||||
<option value="$PROJECT_DIR$/init/login.py" />
|
||||
<option value="$PROJECT_DIR$/damatuCode/damatuWeb.py" />
|
||||
<option value="$PROJECT_DIR$/config/logger.py" />
|
||||
<option value="$PROJECT_DIR$/config/configCommon.py" />
|
||||
<option value="$PROJECT_DIR$/tmp/log/2018-01-24.log" />
|
||||
<option value="$PROJECT_DIR$/.gitignore" />
|
||||
<option value="$PROJECT_DIR$/README.md" />
|
||||
<option value="$PROJECT_DIR$/damatuCode/ruokuai.py" />
|
||||
<option value="$PROJECT_DIR$/tmp/log/2018-01-25.log" />
|
||||
<option value="$PROJECT_DIR$/config/urlConf.py" />
|
||||
<option value="$PROJECT_DIR$/agency/cdn_list" />
|
||||
<option value="$PROJECT_DIR$/init/login.py" />
|
||||
<option value="$PROJECT_DIR$/myUrllib/httpUtils.py" />
|
||||
<option value="$PROJECT_DIR$/init/select_ticket_info.py" />
|
||||
<option value="$PROJECT_DIR$/agency/cdn_utils.py" />
|
||||
<option value="$PROJECT_DIR$/config/ticket_config.yaml" />
|
||||
</list>
|
||||
</option>
|
||||
|
@ -258,8 +290,6 @@
|
|||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="Scratches" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
|
@ -267,30 +297,22 @@
|
|||
<item name="12306" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="12306" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="12306" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="12306" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="agency" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="12306" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="12306" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="config" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="12306" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="12306" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="damatuCode" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="12306" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="12306" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="init" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="12306" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="12306" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="myUrllib" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="Scratches" />
|
||||
<pane id="Scope" />
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
|
@ -304,14 +326,15 @@
|
|||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="MoveFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$" />
|
||||
<recent name="$PROJECT_DIR$/yixing/config" />
|
||||
</key>
|
||||
<key name="CopyFile.RECENT_KEYS">
|
||||
<recent name="$PROJECT_DIR$/myException" />
|
||||
<recent name="$PROJECT_DIR$" />
|
||||
<recent name="$PROJECT_DIR$/tmp/log" />
|
||||
<recent name="$PROJECT_DIR$/config" />
|
||||
<recent name="$PROJECT_DIR$/myException" />
|
||||
<recent name="$PROJECT_DIR$/yixing/myUrllib" />
|
||||
<recent name="D:\my_work\12306" />
|
||||
<recent name="D:\my_work\12306\12306login" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
|
@ -326,7 +349,7 @@
|
|||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="RunManager" selected="Python.run (1)">
|
||||
<component name="RunManager" selected="Python.cdn_utils">
|
||||
<configuration name="12306 (3)" type="PythonConfigurationType" factoryName="Python">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
|
@ -558,20 +581,20 @@
|
|||
<option name="USE_KEYWORD" value="false" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration name="haha" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||
<configuration name="cdn_utils" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||
<option name="INTERPRETER_OPTIONS" value="" />
|
||||
<option name="PARENT_ENVS" value="true" />
|
||||
<envs>
|
||||
<env name="PYTHONUNBUFFERED" value="1" />
|
||||
</envs>
|
||||
<option name="SDK_HOME" value="" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/yixing" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/agency" />
|
||||
<option name="IS_MODULE_SDK" value="true" />
|
||||
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||
<module name="12306" />
|
||||
<EXTENSION ID="PythonCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" runner="coverage.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/yixing/haha.py" />
|
||||
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/agency/cdn_utils.py" />
|
||||
<option name="PARAMETERS" value="" />
|
||||
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||
<option name="EMULATE_TERMINAL" value="false" />
|
||||
|
@ -652,17 +675,17 @@
|
|||
<item index="0" class="java.lang.String" itemvalue="Python.12306 (3)" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Python.run" />
|
||||
<item index="2" class="java.lang.String" itemvalue="Python.select_ticket_info" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Python.haha" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Python.run (1)" />
|
||||
<item index="5" class="java.lang.String" itemvalue="Python.select_ticket_info (1)" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Python.run (1)" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Python.select_ticket_info (1)" />
|
||||
<item index="5" class="java.lang.String" itemvalue="Python.cdn_utils" />
|
||||
</list>
|
||||
<recent_temporary>
|
||||
<list size="5">
|
||||
<item index="0" class="java.lang.String" itemvalue="Python.run (1)" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Python.select_ticket_info (1)" />
|
||||
<item index="0" class="java.lang.String" itemvalue="Python.cdn_utils" />
|
||||
<item index="1" class="java.lang.String" itemvalue="Python.run (1)" />
|
||||
<item index="2" class="java.lang.String" itemvalue="Python.run" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Python.select_ticket_info" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Python.haha" />
|
||||
<item index="3" class="java.lang.String" itemvalue="Python.select_ticket_info (1)" />
|
||||
<item index="4" class="java.lang.String" itemvalue="Python.select_ticket_info" />
|
||||
</list>
|
||||
</recent_temporary>
|
||||
</component>
|
||||
|
@ -845,23 +868,93 @@
|
|||
<option name="project" value="LOCAL" />
|
||||
<updated>1515678353449</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="25" />
|
||||
<task id="LOCAL-00025" summary="修改请求超时问题 修改检查登录心跳方式">
|
||||
<created>1516714146751</created>
|
||||
<option name="number" value="00025" />
|
||||
<option name="presentableId" value="LOCAL-00025" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516714146751</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00026" summary="1、增加若快打码 2、优化提示语 3、修改若干bug">
|
||||
<created>1516759585724</created>
|
||||
<option name="number" value="00026" />
|
||||
<option name="presentableId" value="LOCAL-00026" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516759585724</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00027" summary="增加日志">
|
||||
<created>1516769778850</created>
|
||||
<option name="number" value="00027" />
|
||||
<option name="presentableId" value="LOCAL-00027" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516769778850</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00028" summary="fix">
|
||||
<created>1516769863674</created>
|
||||
<option name="number" value="00028" />
|
||||
<option name="presentableId" value="LOCAL-00028" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516769863674</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00029" summary="fix">
|
||||
<created>1516804524397</created>
|
||||
<option name="number" value="00029" />
|
||||
<option name="presentableId" value="LOCAL-00029" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516804524397</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00030" summary="test version">
|
||||
<created>1516860947755</created>
|
||||
<option name="number" value="00030" />
|
||||
<option name="presentableId" value="LOCAL-00030" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516860947755</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00031" summary="删除 expect_refresh_interval 无用字段,优化代码">
|
||||
<created>1516866756742</created>
|
||||
<option name="number" value="00031" />
|
||||
<option name="presentableId" value="LOCAL-00031" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516866756742</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00032" summary="更新">
|
||||
<created>1516869457581</created>
|
||||
<option name="number" value="00032" />
|
||||
<option name="presentableId" value="LOCAL-00032" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516869457581</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00033" summary="加速需要验证码订票的速度">
|
||||
<created>1516887378591</created>
|
||||
<option name="number" value="00033" />
|
||||
<option name="presentableId" value="LOCAL-00033" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516887378591</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00034" summary="修正下载验证码失败问题">
|
||||
<created>1516887559529</created>
|
||||
<option name="number" value="00034" />
|
||||
<option name="presentableId" value="LOCAL-00034" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1516887559529</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="35" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="0" y="0" width="1440" height="900" extended-state="0" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17453505" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.18025751" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.5465538" sideWeight="0.50429183" order="14" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.54413545" sideWeight="0.49570817" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17412333" sideWeight="0.49570817" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32889965" sideWeight="0.5" order="15" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.48004836" sideWeight="0.5" order="16" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24964234" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32889965" sideWeight="0.5" order="17" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.7315599" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32889965" sideWeight="0.5" order="17" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39661428" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297568" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297568" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
|
@ -880,20 +973,20 @@
|
|||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.5465538" sideWeight="0.50429183" order="7" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3446191" sideWeight="0.49570817" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32889965" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.48004836" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.4413543" sideWeight="0.49570817" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Coverage" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32889965" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.16165951" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17811158" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32889965" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24964234" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297568" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.7315599" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3297568" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
</layout-to-restore>
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
|
@ -929,8 +1022,6 @@
|
|||
<option name="myLimit" value="2678400000" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="常规更新" />
|
||||
<MESSAGE value="修改查询接口配置有误" />
|
||||
<MESSAGE value="增加过滤车次配置" />
|
||||
<MESSAGE value="增加配置" />
|
||||
<MESSAGE value="增加预售车次订票休眠时间配置" />
|
||||
|
@ -946,79 +1037,25 @@
|
|||
<MESSAGE value="提交验证码拉去类别问题" />
|
||||
<MESSAGE value="增加提交订单验证码校验" />
|
||||
<MESSAGE value="跳出下单循环" />
|
||||
<MESSAGE value="fix" />
|
||||
<MESSAGE value="限制队列线程买票大小" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="限制队列线程买票大小" />
|
||||
<MESSAGE value="修改请求超时问题 修改检查登录心跳方式" />
|
||||
<MESSAGE value="1、增加若快打码 2、优化提示语 3、修改若干bug" />
|
||||
<MESSAGE value="增加日志" />
|
||||
<MESSAGE value="fix" />
|
||||
<MESSAGE value="test version" />
|
||||
<MESSAGE value="删除 expect_refresh_interval 无用字段,优化代码" />
|
||||
<MESSAGE value="更新" />
|
||||
<MESSAGE value="加速需要验证码订票的速度" />
|
||||
<MESSAGE value="修正下载验证码失败问题" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="修正下载验证码失败问题" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<option name="time" value="21" />
|
||||
<option name="time" value="34" />
|
||||
</breakpoint-manager>
|
||||
<watches-manager />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$USER_HOME$/.PyCharm2016.3/system/python_stubs/-762174762/PyQt5/QtWidgets/QColorDialog.py" />
|
||||
<entry file="file://$USER_HOME$/.PyCharm2016.3/system/python_stubs/-762174762/PyQt5/Qt.py" />
|
||||
<entry file="file://$USER_HOME$/.PyCharm2016.3/system/python_stubs/-762174762/PyQt5/QtWidgets/QGridLayout.py" />
|
||||
<entry file="file://$PROJECT_DIR$/yixing/ChildrenForm.py" />
|
||||
<entry file="file://$USER_HOME$/.PyCharm2016.3/system/python_stubs/-762174762/PyQt5/QtWidgets/QDateTimeEdit.py" />
|
||||
<entry file="file://$USER_HOME$/.PyCharm2016.3/system/python_stubs/-762174762/PyQt5/QtWidgets/QWidget.py" />
|
||||
<entry file="file://$USER_HOME$/.PyCharm2016.3/system/python_stubs/-762174762/PySide/QtGui/QTextTable.py" />
|
||||
<entry file="file://$USER_HOME$/.PyCharm2016.3/system/python_stubs/-762174762/PyQt5/QtWidgets/QTableView.py" />
|
||||
<entry file="file://$USER_HOME$/.PyCharm2016.3/system/python_stubs/-762174762/PyQt5/QtWidgets/QTableWidget.py" />
|
||||
<entry file="file://$USER_HOME$/.PyCharm2016.3/system/python_stubs/-762174762/PyQt5/QtWidgets/QAbstractItemView.py" />
|
||||
<entry file="file://$PROJECT_DIR$/yixing/agency/agency_tools.py" />
|
||||
<entry file="file://$PROJECT_DIR$/yixing/tiket.py" />
|
||||
<entry file="file:///System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_LWPCookieJar.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="172">
|
||||
<caret line="19" column="4" lean-forward="false" selection-start-line="19" selection-start-column="4" selection-end-line="19" selection-end-column="4" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file:///System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cookielib.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="1900">
|
||||
<caret line="1808" column="44" lean-forward="false" selection-start-line="1808" selection-start-column="44" selection-end-line="1808" selection-end-column="44" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/yixing/myUrllib/station_name.txt" />
|
||||
<entry file="file://$USER_HOME$/Library/Caches/PyCharm2017.2/python_stubs/-2125986627/datetime.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="172">
|
||||
<caret line="492" column="65" lean-forward="true" selection-start-line="492" selection-start-column="43" selection-end-line="492" selection-end-column="65" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/yixing/config.yaml" />
|
||||
<entry file="file://$PROJECT_DIR$/yixing/myUrllib/12306test.py" />
|
||||
<entry file="file:///Library/Python/2.7/site-packages/jenkins/__init__.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="267">
|
||||
<caret line="256" column="8" lean-forward="false" selection-start-line="256" selection-start-column="8" selection-end-line="256" selection-end-column="8" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/yixing/test.py" />
|
||||
<entry file="file:///System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="252">
|
||||
<caret line="350" column="0" lean-forward="false" selection-start-line="350" selection-start-column="0" selection-end-line="350" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file:///System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="445">
|
||||
<caret line="383" column="0" lean-forward="false" selection-start-line="383" selection-start-column="0" selection-end-line="383" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/yixing/myException/balanceException.py" />
|
||||
<entry file="file://$PROJECT_DIR$/yixing/haha.py" />
|
||||
<entry file="file://$PROJECT_DIR$/yixing/12306.py" />
|
||||
<entry file="file://$PROJECT_DIR$/yixing/damatuCode/damatuWeb.py" />
|
||||
<entry file="file://$PROJECT_DIR$/yixing/station_name.txt" />
|
||||
<entry file="file:///System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py">
|
||||
|
@ -1052,29 +1089,6 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="126">
|
||||
<caret line="9" column="38" lean-forward="false" selection-start-line="9" selection-start-column="38" selection-end-line="9" selection-end-column="38" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/run.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="84">
|
||||
<caret line="6" column="33" lean-forward="false" selection-start-line="6" selection-start-column="33" selection-end-line="6" selection-end-column="33" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="28">
|
||||
<caret line="2" column="6" lean-forward="false" selection-start-line="2" selection-start-column="6" selection-end-line="2" selection-end-column="6" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/myException/ticketNumOutException.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
|
@ -1091,36 +1105,219 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/myUrllib/myurllib2.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-262">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file:///Library/Python/2.7/site-packages/requests/adapters.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="198">
|
||||
<caret line="520" column="0" lean-forward="false" selection-start-line="520" selection-start-column="0" selection-end-line="520" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file:///Library/Python/2.7/site-packages/requests/sessions.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="117">
|
||||
<caret line="617" column="0" lean-forward="false" selection-start-line="617" selection-start-column="0" selection-end-line="617" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file:///Library/Python/2.7/site-packages/requests/exceptions.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-1444">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="173">
|
||||
<caret line="112" column="22" lean-forward="false" selection-start-line="112" selection-start-column="22" selection-end-line="112" selection-end-column="22" />
|
||||
<folding>
|
||||
<element signature="e#24#38#0" expanded="false" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/config/configCommon.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-382">
|
||||
<caret line="18" column="0" lean-forward="true" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/config/logger.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="84">
|
||||
<caret line="6" column="25" lean-forward="false" selection-start-line="6" selection-start-column="25" selection-end-line="6" selection-end-column="25" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/tmp/log/__init__.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/.gitignore">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="42">
|
||||
<caret line="3" column="0" lean-forward="false" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/tmp/log/2018-01-24.log" />
|
||||
<entry file="file://$USER_HOME$/Library/Containers/com.tencent.qq/Data/Library/Caches/Images/93095B6094A9A4632A2EA50C88EDE235.png">
|
||||
<provider selected="true" editor-type-id="images">
|
||||
<state />
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file:///System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="145">
|
||||
<caret line="655" column="8" lean-forward="false" selection-start-line="655" selection-start-column="8" selection-end-line="655" selection-end-column="8" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/tmp/log/2018-01-25.log" />
|
||||
<entry file="file://$PROJECT_DIR$/damatuCode/ruokuai.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="462">
|
||||
<caret line="34" column="40" lean-forward="false" selection-start-line="34" selection-start-column="40" selection-end-line="34" selection-end-column="40" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/config/ticketConf.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="168">
|
||||
<caret line="12" column="7" lean-forward="true" selection-start-line="12" selection-start-column="7" selection-end-line="12" selection-end-column="7" />
|
||||
<state relative-caret-position="98">
|
||||
<caret line="9" column="10" lean-forward="false" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="10" />
|
||||
<folding>
|
||||
<element signature="e#46#55#0" expanded="true" />
|
||||
<element signature="e#45#54#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file:///Library/Python/2.7/site-packages/requests/api.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="145">
|
||||
<caret line="100" column="4" lean-forward="false" selection-start-line="100" selection-start-column="4" selection-end-line="100" selection-end-column="4" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file:///System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-131">
|
||||
<caret line="229" column="4" lean-forward="false" selection-start-line="229" selection-start-column="4" selection-end-line="229" selection-end-column="4" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/agency/agency_tools.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="210">
|
||||
<caret line="49" column="16" lean-forward="false" selection-start-line="49" selection-start-column="16" selection-end-line="49" selection-end-column="17" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/README.md">
|
||||
<provider selected="true" editor-type-id="split-provider[text-editor;MarkdownPreviewEditor]">
|
||||
<state split_layout="SPLIT">
|
||||
<first_editor relative-caret-position="14">
|
||||
<caret line="6" column="26" lean-forward="false" selection-start-line="6" selection-start-column="26" selection-end-line="6" selection-end-column="26" />
|
||||
<folding />
|
||||
</first_editor>
|
||||
<second_editor>
|
||||
<js_state />
|
||||
</second_editor>
|
||||
</state>
|
||||
</provider>
|
||||
<provider editor-type-id="text-editor">
|
||||
<state relative-caret-position="126">
|
||||
<caret line="9" column="38" lean-forward="false" selection-start-line="9" selection-start-column="38" selection-end-line="9" selection-end-column="38" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/agency/cdn_list">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/station_name.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file:///Library/Python/2.7/site-packages/urllib3/connection.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="220">
|
||||
<caret line="343" column="0" lean-forward="false" selection-start-line="343" selection-start-column="0" selection-end-line="343" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$USER_HOME$/Library/Caches/PyCharm2017.2/python_stubs/-2125986627/__builtin__.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="154">
|
||||
<caret line="1858" column="8" lean-forward="false" selection-start-line="1858" selection-start-column="8" selection-end-line="1858" selection-end-column="8" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/init/login.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="2030">
|
||||
<caret line="145" column="28" lean-forward="false" selection-start-line="141" selection-start-column="7" selection-end-line="145" selection-end-column="28" />
|
||||
<state relative-caret-position="178">
|
||||
<caret line="225" column="0" lean-forward="false" selection-start-line="225" selection-start-column="0" selection-end-line="225" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#41#54#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/damatuCode/damatuWeb.py">
|
||||
<entry file="file://$PROJECT_DIR$/tmp/log/2018-01-28.log">
|
||||
<provider selected="true" editor-type-id="LogFileEditorProvider">
|
||||
<state relative-caret-position="-10022">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/config/urlConf.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="294">
|
||||
<caret line="21" column="43" lean-forward="false" selection-start-line="21" selection-start-column="43" selection-end-line="21" selection-end-column="43" />
|
||||
<state relative-caret-position="-9">
|
||||
<caret line="91" column="21" lean-forward="true" selection-start-line="91" selection-start-column="21" selection-end-line="91" selection-end-column="21" />
|
||||
<folding>
|
||||
<element signature="e#24#38#0" expanded="true" />
|
||||
<element signature="e#0#13#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/run.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="140">
|
||||
<caret line="10" column="0" lean-forward="false" selection-start-line="10" selection-start-column="0" selection-end-line="10" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/requirements.txt">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="70">
|
||||
|
@ -1129,20 +1326,56 @@
|
|||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/myUrllib/httpUtils.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="150">
|
||||
<caret line="92" column="0" lean-forward="false" selection-start-line="92" selection-start-column="0" selection-end-line="92" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#23#38#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/cdn_list">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="0">
|
||||
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/agency/cdn_utils.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="544">
|
||||
<caret line="100" column="0" lean-forward="true" selection-start-line="100" selection-start-column="0" selection-end-line="100" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="e#16#27#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/init/select_ticket_info.py">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="-456">
|
||||
<caret line="204" column="16" lean-forward="true" selection-start-line="204" selection-start-column="16" selection-end-line="204" selection-end-column="16" />
|
||||
<state relative-caret-position="213">
|
||||
<caret line="356" column="30" lean-forward="true" selection-start-line="356" selection-start-column="30" selection-end-line="356" selection-end-column="30" />
|
||||
<folding>
|
||||
<element signature="e#23#34#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/agency/cdn_list">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="553">
|
||||
<caret line="87" column="54" lean-forward="false" selection-start-line="87" selection-start-column="40" selection-end-line="87" selection-end-column="54" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/config/ticket_config.yaml">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="44">
|
||||
<caret line="56" column="9" lean-forward="false" selection-start-line="56" selection-start-column="9" selection-end-line="56" selection-end-column="9" />
|
||||
<state relative-caret-position="602">
|
||||
<caret line="86" column="9" lean-forward="false" selection-start-line="86" selection-start-column="9" selection-end-line="86" selection-end-column="9" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
{"state": "1", "msg": "''", "result": "'125.90.204.122'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'10\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'43\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'110.157.235.63'", "ipaddress": "'\u65b0\u7586\u4e4c\u9c81\u6728\u9f50\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.51.168.196'", "ipaddress": "'\u6e56\u5317\u7701\u5b5d\u611f\u5e02 \u7535\u4fe1'", "responsetime": "'3\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.77.130.216'", "ipaddress": "'\u798f\u5efa\u7701\u53a6\u95e8\u5e02 \u7535\u4fe1'", "responsetime": "'5\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'36.99.32.182'", "ipaddress": "'\u6cb3\u5357\u7701\u7126\u4f5c\u5e02 \u7535\u4fe1'", "responsetime": "'5\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'116.53.51.84'", "ipaddress": "'\u4e91\u5357\u7701\u7ea2\u6cb3\u5dde \u7535\u4fe1'", "responsetime": "'12\u6beb\u79d2'", "ttl": "'58'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'61.147.210.175'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'115.231.22.80'", "ipaddress": "'\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'1\u6beb\u79d2'", "ttl": "'60'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'14.119.124.101'", "ipaddress": "'\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'36.42.32.66'", "ipaddress": "'\u9655\u897f\u7701\u5b9d\u9e21\u5e02 \u7f51\u5bbf\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'4\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'183.66.109.3'", "ipaddress": "'\u91cd\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'3\u6beb\u79d2'", "ttl": "'58'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'14.119.124.101'", "ipaddress": "'\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'5\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'35\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.204.122'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'14\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'220.172.242.224'", "ipaddress": "'\u8d35\u5dde\u7701\u9ed4\u897f\u5357\u5dde\u5174\u4e49\u5e02 \u7535\u4fe1'", "responsetime": "'<1\u6beb\u79d2'", "ttl": "'59'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'219.147.92.64'", "ipaddress": "'\u9ed1\u9f99\u6c5f\u7701\u5927\u5e86\u5e02 \u6cb9\u7530\u5bbd\u5e26'", "responsetime": "'25\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.204.122'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'10\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.112.135'", "ipaddress": "'\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02 \u7535\u4fe1'", "responsetime": "'16\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'61.147.210.175'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'150.138.169.233'", "ipaddress": "'\u5c71\u4e1c\u7701\u9752\u5c9b\u5e02 \u7f51\u5bbf\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'15\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'14\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'36.42.32.66'", "ipaddress": "'\u9655\u897f\u7701\u5b9d\u9e21\u5e02 \u7f51\u5bbf\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'36.42.32.66'", "ipaddress": "'\u9655\u897f\u7701\u5b9d\u9e21\u5e02 \u7f51\u5bbf\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'5\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.89.198.81'", "ipaddress": "'\u5e7f\u4e1c\u7701\u97f6\u5173\u5e02 \u7535\u4fe1'", "responsetime": "'11\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'59.44.30.114'", "ipaddress": "'\u8fbd\u5b81\u7701\u6c88\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'37\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'60.174.241.125'", "ipaddress": "'\u5b89\u5fbd\u7701\u5408\u80a5\u5e02\u5de2\u6e56\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'2\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.206.144'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'10\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.77.134.79'", "ipaddress": "'\u798f\u5efa\u7701\u53a6\u95e8\u5e02 \u7535\u4fe1'", "responsetime": "'4\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'61.147.210.175'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'171.90.249.191'", "ipaddress": "'\u56db\u5ddd\u7701\u81ea\u8d21\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'115.231.22.80'", "ipaddress": "'\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.206.144'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'10\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'180.97.244.192'", "ipaddress": "'\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'9\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'59.49.42.253'", "ipaddress": "'\u5c71\u897f\u7701\u592a\u539f\u5e02\u5c0f\u5e97\u533a \u7535\u4fe1'", "responsetime": "'<1\u6beb\u79d2'", "ttl": "'62'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.77.130.207'", "ipaddress": "'\u798f\u5efa\u7701\u53a6\u95e8\u5e02 \u7535\u4fe1'", "responsetime": "'5\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'218.77.92.243'", "ipaddress": "'\u6e56\u5357\u7701\u76ca\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'4\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'66\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.204.122'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'10\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'180.97.244.192'", "ipaddress": "'\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'11\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'117.27.243.113'", "ipaddress": "'\u798f\u5efa\u7701\u798f\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'4\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.16.212.192'", "ipaddress": "'\u5e7f\u897f\u8d3a\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'26\u6beb\u79d2'", "ttl": "'49'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.112.135'", "ipaddress": "'\u5e7f\u4e1c\u7701\u6e5b\u6c5f\u5e02 \u7535\u4fe1'", "responsetime": "'13\u6beb\u79d2'", "ttl": "'51'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'219.147.233.232'", "ipaddress": "'\u9ed1\u9f99\u6c5f\u7701\u53cc\u9e2d\u5c71\u5e02 \u7535\u4fe1'", "responsetime": "'21\u6beb\u79d2'", "ttl": "'59'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'9\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'218.12.228.70'", "ipaddress": "'\u6cb3\u5317\u7701\u90a2\u53f0\u5e02 \u8054\u901a'", "responsetime": "'20\u6beb\u79d2'", "ttl": "'48'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'60.174.243.166'", "ipaddress": "'\u5b89\u5fbd\u7701\u5408\u80a5\u5e02\u5de2\u6e56\u5e02 \u7535\u4fe1'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'49'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'219.147.93.222'", "ipaddress": "'\u9ed1\u9f99\u6c5f\u7701\u5927\u5e86\u5e02 \u6cb9\u7530\u5bbd\u5e26'", "responsetime": "'40\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'218.58.206.56'", "ipaddress": "'\u5c71\u4e1c\u7701\u5fb7\u5dde\u5e02 \u8054\u901a'", "responsetime": "'27\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'124.165.216.254'", "ipaddress": "'\u5c71\u897f\u7701\u5415\u6881\u5e02 \u8054\u901a'", "responsetime": "'17\u6beb\u79d2'", "ttl": "'58'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'115.231.22.80'", "ipaddress": "'\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'112.240.60.226'", "ipaddress": "'\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02\u535a\u5c71\u533a \u8054\u901a'", "responsetime": "'25\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'13\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'60.210.23.112'", "ipaddress": "'\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02 \u5e1d\u8054\u4fe1\u606f\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'17\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'112.90.213.65'", "ipaddress": "'\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02 \u4e2d\u56fd\u8054\u901a\u9aa8\u5e72\u8282\u70b9'", "responsetime": "'21\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'117.27.243.113'", "ipaddress": "'\u798f\u5efa\u7701\u798f\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'<1\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'60.210.23.112'", "ipaddress": "'\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02 \u5e1d\u8054\u4fe1\u606f\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'10\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'221.206.120.101'", "ipaddress": "'\u9ed1\u9f99\u6c5f\u7701\u7261\u4e39\u6c5f\u5e02 \u8054\u901a'", "responsetime": "'6\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'221.202.204.253'", "ipaddress": "'\u8fbd\u5b81\u7701\u8425\u53e3\u5e02 \u8054\u901a'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'123.138.60.232'", "ipaddress": "'\u9655\u897f\u7701\u897f\u5b89\u5e02 \u7f51\u5bbf\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'2\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'124.167.232.125'", "ipaddress": "'\u5c71\u897f\u7701 \u7f51\u5bbf\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'95\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'183.131.192.83'", "ipaddress": "'\u6d59\u6c5f\u7701\u6e29\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'6\u6beb\u79d2'", "ttl": "'51'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.207.77.191'", "ipaddress": "'\u91cd\u5e86\u5e02 \u8054\u901a'", "responsetime": "'<1\u6beb\u79d2'", "ttl": "'60'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'112.240.60.226'", "ipaddress": "'\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02\u535a\u5c71\u533a \u8054\u901a'", "responsetime": "'37\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'60.210.23.112'", "ipaddress": "'\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02 \u5e1d\u8054\u4fe1\u606f\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'3\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'122.136.46.107'", "ipaddress": "'\u5409\u6797\u7701\u5ef6\u8fb9\u5dde \u7f51\u5bbf\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'<1\u6beb\u79d2'", "ttl": "'58'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'123.128.14.202'", "ipaddress": "'\u5c71\u4e1c\u7701\u6cf0\u5b89\u5e02 \u8054\u901a'", "responsetime": "'5\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'120.221.24.8'", "ipaddress": "'\u4e2d\u56fd \u79fb\u52a8'", "responsetime": "'6\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'111.13.135.248'", "ipaddress": "'\u5317\u4eac\u5e02 \u79fb\u52a8'", "responsetime": "'25\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'183.236.10.216'", "ipaddress": "'\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02 \u79fb\u52a8'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'251'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'13\u6beb\u79d2'", "ttl": "'51'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'49.79.232.225'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7535\u4fe1'", "responsetime": "'69\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.39'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'72\u6beb\u79d2'", "ttl": "'49'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'23\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.218.208.199'", "ipaddress": "'\u6c5f\u82cf\u7701\u5f90\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'37\u6beb\u79d2'", "ttl": "'45'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'14\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'22\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'219.147.93.222'", "ipaddress": "'\u9ed1\u9f99\u6c5f\u7701\u5927\u5e86\u5e02 \u6cb9\u7530\u5bbd\u5e26'", "responsetime": "'62\u6beb\u79d2'", "ttl": "'48'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'73\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'219.147.93.222'", "ipaddress": "'\u9ed1\u9f99\u6c5f\u7701\u5927\u5e86\u5e02 \u6cb9\u7530\u5bbd\u5e26'", "responsetime": "'72\u6beb\u79d2'", "ttl": "'51'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'15\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'15\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.218.208.199'", "ipaddress": "'\u6c5f\u82cf\u7701\u5f90\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'34\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'16\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'13\u6beb\u79d2'", "ttl": "'51'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'17\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'118.180.15.113'", "ipaddress": "'\u7518\u8083\u7701\u5170\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'65\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'20\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
|
@ -0,0 +1,100 @@
|
|||
# encoding=utf8
|
||||
import json
|
||||
import re
|
||||
import collections
|
||||
import requests
|
||||
|
||||
from config import urlConf
|
||||
import sys
|
||||
reload(sys)
|
||||
sys.setdefaultencoding('utf-8')
|
||||
|
||||
|
||||
class CDNProxy:
|
||||
def __init__(self, host=None):
|
||||
self.host = host
|
||||
self.urlConf = urlConf.urls
|
||||
self.httpClint = requests
|
||||
self.city_list = []
|
||||
self.timeout = 5
|
||||
|
||||
def _set_header(self):
|
||||
"""设置header"""
|
||||
return {
|
||||
"Content-Type": "application/x-www-form-urlencoded; charset=utf-8",
|
||||
"X-Requested-With": "xmlHttpRequest",
|
||||
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36",
|
||||
"Referer": "https://kyfw.12306.cn/otn/login/init",
|
||||
"Accept": "*/*",
|
||||
}
|
||||
|
||||
def get_city_id(self):
|
||||
"""
|
||||
获取所有城市md5参数
|
||||
:return:
|
||||
"""
|
||||
try:
|
||||
if self.host:
|
||||
while True:
|
||||
url = self.urlConf["cdn_host"]["req_url"]
|
||||
data = {"host": self.host, "lintType": "电信,多线,联通,移动"}
|
||||
rep = self.httpClint.post(url, data, headers=self._set_header(), timeout=self.timeout)
|
||||
city_re = re.compile(r"<li id=\"(\S+)\" class=\"PingListCent PingRLlist")
|
||||
self.city_list = re.findall(city_re, rep.content)
|
||||
if self.city_list:
|
||||
print self.city_list
|
||||
break
|
||||
else:
|
||||
pass
|
||||
except:
|
||||
pass
|
||||
|
||||
def open_cdn_file(self):
|
||||
f = open("./cdn_list", "a+")
|
||||
return f
|
||||
|
||||
def get_cdn_list(self):
|
||||
"""
|
||||
筛选代理
|
||||
:return:
|
||||
"""
|
||||
f = self.open_cdn_file()
|
||||
url = self.urlConf["cdn_list"]["req_url"]
|
||||
num = 1
|
||||
f.seek(0)
|
||||
f.truncate()
|
||||
for guid in self.city_list:
|
||||
data = {"guid": guid,
|
||||
"host": "kyfw.12306.cn",
|
||||
"ishost": 0,
|
||||
"encode": "HJXhdRqjh5yCF6G/AZ6EDk9faB1oSk5r",
|
||||
"checktype": 0}
|
||||
try:
|
||||
cdn_info = self.httpClint.post(url, data, headers=self._set_header(), timeout=self.timeout).content
|
||||
print(cdn_info)
|
||||
if cdn_info:
|
||||
split_cdn = cdn_info.split("(")[1].rstrip(")").replace("{", "").replace("}", "").split(",")
|
||||
local_dict = collections.OrderedDict()
|
||||
for i in split_cdn:
|
||||
splits = i.split(":")
|
||||
local_dict[splits[0]] = splits[2] if splits[0] == "result" else splits[1]
|
||||
if local_dict and "state" in local_dict and local_dict["state"] == "1":
|
||||
if "responsetime" in local_dict and local_dict["responsetime"].find("毫秒") != -1 and int(filter(str.isdigit, local_dict["responsetime"])) < 100:
|
||||
f.write(json.dumps(local_dict)+"\n")
|
||||
num += 1
|
||||
except Exception as e:
|
||||
print(e.message)
|
||||
print("本次cdn获取完成,总个数{0}".format(num))
|
||||
|
||||
def all_cdn(self):
|
||||
"""获取cdn列表"""
|
||||
with open('./cdn_list', 'r') as f:
|
||||
cdn = f.readlines()
|
||||
return cdn
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
cdn = CDNProxy("kyfw.12306.cn")
|
||||
cdn.get_city_id()
|
||||
cdn.get_cdn_list()
|
||||
# print cdn.all_cdn()
|
|
@ -0,0 +1,99 @@
|
|||
{"state": "1", "msg": "''", "result": "'122.226.47.123'", "ipaddress": "'\u6d59\u6c5f\u7701\u91d1\u534e\u5e02 \u7535\u4fe1'", "responsetime": "'6\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'36.42.32.66'", "ipaddress": "'\u9655\u897f\u7701\u5b9d\u9e21\u5e02 \u7f51\u5bbf\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'61.147.210.175'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'121.18.230.86'", "ipaddress": "'\u6cb3\u5317\u7701\u4fdd\u5b9a\u5e02 \u7f51\u5bbf\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'33\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'183.66.109.245'", "ipaddress": "'\u91cd\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'58'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.77.134.79'", "ipaddress": "'\u798f\u5efa\u7701\u53a6\u95e8\u5e02 \u7535\u4fe1'", "responsetime": "'5\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'14.119.124.101'", "ipaddress": "'\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'12\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'61.147.210.175'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'180.97.244.192'", "ipaddress": "'\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'16\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'222.246.212.91'", "ipaddress": "'\u6e56\u5357\u7701\u90f4\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'12\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'14\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'180.97.244.192'", "ipaddress": "'\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'39\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'110.157.235.63'", "ipaddress": "'\u65b0\u7586\u4e4c\u9c81\u6728\u9f50\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.64.102.187'", "ipaddress": "'\u56db\u5ddd\u7701\u5fb7\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'4\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'42.123.107.43'", "ipaddress": "'\u5185\u8499\u53e4\u547c\u548c\u6d69\u7279\u5e02 \u4e2d\u56fd\u7535\u4fe1\u4e91\u8ba1\u7b97\u4e2d\u5fc3'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'180.97.244.192'", "ipaddress": "'\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'10\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'180.97.244.192'", "ipaddress": "'\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'28\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'14.119.124.101'", "ipaddress": "'\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'11\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'116.53.51.84'", "ipaddress": "'\u4e91\u5357\u7701\u7ea2\u6cb3\u5dde \u7535\u4fe1'", "responsetime": "'12\u6beb\u79d2'", "ttl": "'58'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'219.138.21.110'", "ipaddress": "'\u6e56\u5317\u7701\u5b9c\u660c\u5e02 \u7535\u4fe1'", "responsetime": "'6\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.77.134.79'", "ipaddress": "'\u798f\u5efa\u7701\u53a6\u95e8\u5e02 \u7535\u4fe1'", "responsetime": "'4\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.204.122'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'10\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.206.144'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'36.99.32.179'", "ipaddress": "'\u6cb3\u5357\u7701\u7126\u4f5c\u5e02 \u7535\u4fe1'", "responsetime": "'5\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.204.122'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'11\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'9\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.204.122'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'13\u6beb\u79d2'", "ttl": "'51'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'59.45.172.34'", "ipaddress": "'\u8fbd\u5b81\u7701\u961c\u65b0\u5e02\u592a\u5e73\u533a \u7ea2\u5229\u7f51\u5427'", "responsetime": "'14\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.89.198.81'", "ipaddress": "'\u5e7f\u4e1c\u7701\u97f6\u5173\u5e02 \u7535\u4fe1'", "responsetime": "'12\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'36.42.32.66'", "ipaddress": "'\u9655\u897f\u7701\u5b9d\u9e21\u5e02 \u7f51\u5bbf\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'4\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.89.198.81'", "ipaddress": "'\u5e7f\u4e1c\u7701\u97f6\u5173\u5e02 \u7535\u4fe1'", "responsetime": "'10\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'115.231.20.49'", "ipaddress": "'\u6d59\u6c5f\u7701\u6e56\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'12\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'117.27.243.113'", "ipaddress": "'\u798f\u5efa\u7701\u798f\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u80a1\u4efd\u6709\u9650\u516c\u53f8\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'5\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'180.97.244.192'", "ipaddress": "'\u6c5f\u82cf\u7701\u82cf\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'37\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.90.206.144'", "ipaddress": "'\u5e7f\u4e1c\u7701\u8087\u5e86\u5e02 \u7535\u4fe1'", "responsetime": "'9\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'60.174.241.88'", "ipaddress": "'\u5b89\u5fbd\u7701\u5408\u80a5\u5e02\u5de2\u6e56\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'100\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'219.147.233.232'", "ipaddress": "'\u9ed1\u9f99\u6c5f\u7701\u53cc\u9e2d\u5c71\u5e02 \u7535\u4fe1'", "responsetime": "'21\u6beb\u79d2'", "ttl": "'59'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.89.198.81'", "ipaddress": "'\u5e7f\u4e1c\u7701\u97f6\u5173\u5e02 \u7535\u4fe1'", "responsetime": "'12\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'218.29.49.71'", "ipaddress": "'\u6cb3\u5357\u7701\u65b0\u4e61\u5e02 \u7f51\u5bbf\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'9\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'110.88.145.90'", "ipaddress": "'\u798f\u5efa\u7701\u6cc9\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'29\u6beb\u79d2'", "ttl": "'49'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'59.63.234.87'", "ipaddress": "'\u6c5f\u897f\u7701\u5357\u660c\u5e02 \u7535\u4fe1'", "responsetime": "'1\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.77.130.216'", "ipaddress": "'\u798f\u5efa\u7701\u53a6\u95e8\u5e02 \u7535\u4fe1'", "responsetime": "'4\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.16.212.192'", "ipaddress": "'\u5e7f\u897f\u8d3a\u5dde\u5e02 \u7535\u4fe1'", "responsetime": "'25\u6beb\u79d2'", "ttl": "'49'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'61.147.210.175'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7535\u4fe1'", "responsetime": "'8\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'101.227.175.218'", "ipaddress": "'\u4e0a\u6d77\u5e02 \u7535\u4fe1'", "responsetime": "'2\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'175.188.163.55'", "ipaddress": "'\u5317\u4eac\u5e02 \u9e4f\u535a\u58eb\u957f\u57ce\u5bbd\u5e26'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'112.240.60.226'", "ipaddress": "'\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02\u535a\u5c71\u533a \u8054\u901a'", "responsetime": "'6\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'124.165.216.254'", "ipaddress": "'\u5c71\u897f\u7701\u5415\u6881\u5e02 \u8054\u901a'", "responsetime": "'6\u6beb\u79d2'", "ttl": "'58'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'125.77.130.207'", "ipaddress": "'\u798f\u5efa\u7701\u53a6\u95e8\u5e02 \u7535\u4fe1'", "responsetime": "'3\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'124.167.232.125'", "ipaddress": "'\u5c71\u897f\u7701 \u7f51\u5bbf\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'32\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'123.128.14.202'", "ipaddress": "'\u5c71\u4e1c\u7701\u6cf0\u5b89\u5e02 \u8054\u901a'", "responsetime": "'17\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'112.240.60.226'", "ipaddress": "'\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02\u535a\u5c71\u533a \u8054\u901a'", "responsetime": "'37\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.207.77.191'", "ipaddress": "'\u91cd\u5e86\u5e02 \u8054\u901a'", "responsetime": "'1\u6beb\u79d2'", "ttl": "'60'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'123.138.60.232'", "ipaddress": "'\u9655\u897f\u7701\u897f\u5b89\u5e02 \u7f51\u5bbf\u79d1\u6280\u8054\u901aCDN\u8282\u70b9'", "responsetime": "'2\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'119.52.120.81'", "ipaddress": "'\u5409\u6797\u7701\u901a\u5316\u5e02 \u8054\u901a'", "responsetime": "'14\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'112.240.60.226'", "ipaddress": "'\u5c71\u4e1c\u7701\u6dc4\u535a\u5e02\u535a\u5c71\u533a \u8054\u901a'", "responsetime": "'3\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'123.128.14.202'", "ipaddress": "'\u5c71\u4e1c\u7701\u6cf0\u5b89\u5e02 \u8054\u901a'", "responsetime": "'28\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'221.206.120.101'", "ipaddress": "'\u9ed1\u9f99\u6c5f\u7701\u7261\u4e39\u6c5f\u5e02 \u8054\u901a'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'218.58.206.56'", "ipaddress": "'\u5c71\u4e1c\u7701\u5fb7\u5dde\u5e02 \u8054\u901a'", "responsetime": "'27\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'13\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'221.202.204.253'", "ipaddress": "'\u8fbd\u5b81\u7701\u8425\u53e3\u5e02 \u8054\u901a'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'112.90.135.238'", "ipaddress": "'\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02 \u4e2d\u56fd\u8054\u901a\u9aa8\u5e72\u8282\u70b9'", "responsetime": "'15\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'183.131.210.66'", "ipaddress": "'\u6d59\u6c5f\u7701\u91d1\u534e\u5e02 \u7535\u4fe1'", "responsetime": "'6\u6beb\u79d2'", "ttl": "'55'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'120.221.24.8'", "ipaddress": "'\u4e2d\u56fd \u79fb\u52a8'", "responsetime": "'6\u6beb\u79d2'", "ttl": "'57'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'111.62.244.177'", "ipaddress": "'\u6cb3\u5317\u7701 \u79fb\u52a8'", "responsetime": "'29\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'183.236.10.216'", "ipaddress": "'\u5e7f\u4e1c\u7701\u5e7f\u5dde\u5e02 \u79fb\u52a8'", "responsetime": "'7\u6beb\u79d2'", "ttl": "'251'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.218.208.199'", "ipaddress": "'\u6c5f\u82cf\u7701\u5f90\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'35\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'17\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.39'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'72\u6beb\u79d2'", "ttl": "'49'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'163\u6beb\u79d2'", "ttl": "'54'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'20\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'14\u6beb\u79d2'", "ttl": "'48'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.221.78.105'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'151\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'219.147.93.222'", "ipaddress": "'\u9ed1\u9f99\u6c5f\u7701\u5927\u5e86\u5e02 \u6cb9\u7530\u5bbd\u5e26'", "responsetime": "'61\u6beb\u79d2'", "ttl": "'56'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'101.227.102.18'", "ipaddress": "'\u4e0a\u6d77\u5e02 \u7535\u4fe1'", "responsetime": "'129\u6beb\u79d2'", "ttl": "'47'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'49.79.232.225'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7535\u4fe1'", "responsetime": "'34\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'163\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'14\u6beb\u79d2'", "ttl": "'51'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'158\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'18\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'118.180.15.113'", "ipaddress": "'\u7518\u8083\u7701\u5170\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'66\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'15\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'15\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'16\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'161\u6beb\u79d2'", "ttl": "'51'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'154\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'58.218.208.199'", "ipaddress": "'\u6c5f\u82cf\u7701\u5f90\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'37\u6beb\u79d2'", "ttl": "'46'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'73\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'166\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'16\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'118.180.15.113'", "ipaddress": "'\u7518\u8083\u7701\u5170\u5dde\u5e02 \u7f51\u5bbf\u79d1\u6280\u7535\u4fe1CDN\u8282\u70b9'", "responsetime": "'198\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'20\u6beb\u79d2'", "ttl": "'50'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'163\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'157\u6beb\u79d2'", "ttl": "'53'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'61.147.210.175'", "ipaddress": "'\u6c5f\u82cf\u7701\u5357\u901a\u5e02 \u7535\u4fe1'", "responsetime": "'41\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.44.166'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'13\u6beb\u79d2'", "ttl": "'51'", "bytes": "'32'"}
|
||||
{"state": "1", "msg": "''", "result": "'113.107.58.182'", "ipaddress": "'\u5e7f\u4e1c\u7701\u63ed\u9633\u5e02 \u7535\u4fe1'", "responsetime": "'163\u6beb\u79d2'", "ttl": "'52'", "bytes": "'32'"}
|
|
@ -44,7 +44,7 @@ set:
|
|||
# - "2018-01-27"
|
||||
# - "2018-01-28"
|
||||
# - "2018-02-22"
|
||||
- "2018-02-23"
|
||||
- "2018-02-24"
|
||||
station_trains:
|
||||
- "D2879"
|
||||
- "D1813"
|
||||
|
@ -74,27 +74,29 @@ set:
|
|||
12306count:
|
||||
# - uesr: ""
|
||||
# - pwd: "apple1995"
|
||||
- uesr: "931128603@qq.com"
|
||||
- uesr: "@qq.com"
|
||||
- pwd: "QWERTY"
|
||||
|
||||
select_refresh_interval: 0.3
|
||||
select_refresh_interval: 0.4
|
||||
ticket_black_list_time: 6
|
||||
is_aotu_code: True
|
||||
aotu_code_type: 2
|
||||
#enable_proxy: False
|
||||
|
||||
damatu:
|
||||
uesr: "931128603"
|
||||
uesr: ""
|
||||
pwd: "qazWSX1995"
|
||||
|
||||
email_conf:
|
||||
is_email: True
|
||||
email: "931128603@qq.com "
|
||||
email: "@qq.com "
|
||||
notice_email_list: "61995120@qq.com"
|
||||
username: "931128603"
|
||||
username: ""
|
||||
password: "xwopwxbkupbqbfgb"
|
||||
host: "smtp.qq.com"
|
||||
|
||||
is_cdn: 1
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,94 +1,235 @@
|
|||
import random
|
||||
|
||||
import time
|
||||
|
||||
urls = {
|
||||
"auth": {
|
||||
"req_url": "https://kyfw.12306.cn/passport/web/auth/uamtk",
|
||||
"req_type": "post"
|
||||
"req_url": "/passport/web/auth/uamtk",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"login": {
|
||||
"req_url": "https://kyfw.12306.cn/passport/web/login",
|
||||
"req_type": "post"
|
||||
"req_url": "/passport/web/login",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
|
||||
},
|
||||
"getCodeImg": {
|
||||
"req_url": "https://kyfw.12306.cn/passport/captcha/captcha-image?login_site=E&module=login&rand=sjrand&{0}".format(random.random()),
|
||||
"req_type": "get"
|
||||
"req_url": "/passport/captcha/captcha-image?login_site=E&module=login&rand=sjrand&{0}".format(random.random()),
|
||||
"req_type": "get",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": False,
|
||||
"is_json": False,
|
||||
},
|
||||
"codeCheck": {
|
||||
"req_url": "https://kyfw.12306.cn/passport/captcha/captcha-check",
|
||||
"req_type": "post"
|
||||
"req_url": "/passport/captcha/captcha-check",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"loginInit": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/login/init",
|
||||
"req_type": "get"
|
||||
"req_url": "/otn/login/init",
|
||||
"req_type": "get",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": False,
|
||||
"is_json": False,
|
||||
},
|
||||
"getUserInfo": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/index/initMy12306",
|
||||
"req_type": "get"
|
||||
"req_url": "/otn/index/initMy12306",
|
||||
"req_type": "get",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": False,
|
||||
"is_json": False,
|
||||
},
|
||||
"userLogin": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/login/userLogin",
|
||||
"req_type": "get"
|
||||
"req_url": "/otn/login/userLogin",
|
||||
"req_type": "get",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"uamauthclient": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/uamauthclient",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/uamauthclient",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"initdc_url": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/confirmPassenger/initDc",
|
||||
"req_type": "get"
|
||||
"req_url": "/otn/confirmPassenger/initDc",
|
||||
"req_type": "get",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": False,
|
||||
"is_json": False,
|
||||
},
|
||||
"get_passengerDTOs": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/confirmPassenger/getPassengerDTOs",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/confirmPassenger/getPassengerDTOs",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"select_url": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date={0}&leftTicketDTO.from_station={1}&leftTicketDTO.to_station={2}&purpose_codes=ADULT",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/leftTicket/queryZ?leftTicketDTO.train_date={0}&leftTicketDTO.from_station={1}&leftTicketDTO.to_station={2}&purpose_codes=ADULT",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": False,
|
||||
"is_json": True,
|
||||
},
|
||||
"check_user_url": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/login/checkUser",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/login/checkUser",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"submit_station_url": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/leftTicket/submitOrderRequest",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/leftTicket/submitOrderRequest",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"checkOrderInfoUrl": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/confirmPassenger/checkOrderInfo",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"getQueueCountUrl": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/confirmPassenger/getQueueCount",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/confirmPassenger/getQueueCount",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"checkQueueOrderUrl": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/confirmPassenger/confirmSingleForQueue",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/confirmPassenger/confirmSingleForQueue",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"checkRandCodeAnsyn": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/passcodeNew/checkRandCodeAnsyn",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"codeImgByOrder": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=passenger&rand=randp&%s" % random.random(),
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/passcodeNew/getPassCodeNew?module=passenger&rand=randp&%s" % random.random(),
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": False,
|
||||
"is_json": False,
|
||||
},
|
||||
"queryOrderWaitTimeUrl": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/confirmPassenger/queryOrderWaitTime",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/confirmPassenger/queryOrderWaitTime",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"queryMyOrderNoCompleteUrl": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/queryOrder/queryMyOrderNoComplete",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/queryOrder/queryMyOrderNoComplete",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"initNoCompleteUrl": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/queryOrder/initNoComplete",
|
||||
"req_type": "post"
|
||||
"req_url": "/otn/queryOrder/initNoComplete",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"cancelNoCompleteMyOrder": {
|
||||
"req_url": "https://kyfw.12306.cn/otn/queryOrder/cancelNoCompleteMyOrder",
|
||||
"req_url": "/otn/queryOrder/cancelNoCompleteMyOrder",
|
||||
"req_type": "post",
|
||||
"Referer": "",
|
||||
"Host": "kyfw.12306.cn",
|
||||
"re_try": 10,
|
||||
"re_time": 0.1,
|
||||
"is_logger": True,
|
||||
"is_json": True,
|
||||
},
|
||||
"cdn_host": {
|
||||
"req_url": "http://ping.chinaz.com/kyfw.12306.cn",
|
||||
"req_type": "post"
|
||||
},
|
||||
"cdn_list": {
|
||||
"req_url": "http://ping.chinaz.com/iframe.ashx?t=ping&callback=jQuery111304824429956769827_{}".format(int(round(time.time() * 1000))),
|
||||
"req_type": "post"
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -49,7 +49,7 @@ class RClient(object):
|
|||
|
||||
|
||||
if __name__ == '__main__':
|
||||
rc = RClient('931128603', 'qazWSX1995',)
|
||||
rc = RClient('931128603', '',)
|
||||
im = open('tkcode', 'rb').read()
|
||||
print rc.rk_create(im, 6113)
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ class GoLogin:
|
|||
|
||||
def cookietp(self):
|
||||
print("正在获取cookie")
|
||||
url = self.urlConf["loginInit"]["req_url"]
|
||||
url = self.urlConf["loginInit"]
|
||||
self.httpClint.send(url)
|
||||
# Url = "https://kyfw.12306.cn/otn/login/init"
|
||||
# myurllib2.get(Url)
|
||||
|
@ -70,8 +70,9 @@ class GoLogin:
|
|||
print ("下载验证码...")
|
||||
codeimgUrl = code_url
|
||||
img_path = './tkcode'
|
||||
result = self.httpClint.send(codeimgUrl, is_logger=False)
|
||||
result = self.httpClint.send(codeimgUrl)
|
||||
try:
|
||||
print("下载验证码成功")
|
||||
open(img_path, 'wb').write(result)
|
||||
except OSError as e:
|
||||
print (e)
|
||||
|
@ -122,7 +123,7 @@ class GoLogin:
|
|||
|
||||
def auth(self):
|
||||
"""认证"""
|
||||
authUrl = self.urlConf["auth"]["req_url"]
|
||||
authUrl = self.urlConf["auth"]
|
||||
authData = {"appid": "otn"}
|
||||
tk = self.httpClint.send(authUrl, authData)
|
||||
return tk
|
||||
|
@ -132,7 +133,7 @@ class GoLogin:
|
|||
验证码校验
|
||||
:return:
|
||||
"""
|
||||
codeCheck = self.urlConf["codeCheck"]["req_url"]
|
||||
codeCheck = self.urlConf["codeCheck"]
|
||||
codeCheckData = {
|
||||
"answer": self.randCode,
|
||||
"rand": "sjrand",
|
||||
|
@ -155,7 +156,7 @@ class GoLogin:
|
|||
:param passwd:
|
||||
:return: 权限校验码
|
||||
"""
|
||||
logurl = self.urlConf["login"]["req_url"]
|
||||
logurl = self.urlConf["login"]
|
||||
logData = {
|
||||
"username": user,
|
||||
"password": passwd,
|
||||
|
@ -188,7 +189,7 @@ class GoLogin:
|
|||
if not uamtk:
|
||||
return "权限校验码不能为空"
|
||||
else:
|
||||
uamauthclientUrl = self.urlConf["uamauthclient"]["req_url"]
|
||||
uamauthclientUrl = self.urlConf["uamauthclient"]
|
||||
data = {"tk": uamtk}
|
||||
uamauthclientResult = self.httpClint.send(uamauthclientUrl, data)
|
||||
if uamauthclientResult:
|
||||
|
@ -199,7 +200,7 @@ class GoLogin:
|
|||
return False
|
||||
else:
|
||||
self.httpClint.send(uamauthclientUrl, data)
|
||||
url = self.urlConf["getUserInfo"]["req_url"]
|
||||
url = self.urlConf["getUserInfo"]
|
||||
self.httpClint.send(url)
|
||||
|
||||
def go_login(self):
|
||||
|
@ -220,7 +221,7 @@ class GoLogin:
|
|||
while True:
|
||||
self.cookietp()
|
||||
self.httpClint.set_cookies(_jc_save_wfdc_flag="dc", _jc_save_fromStation="%u4E0A%u6D77%u8679%u6865%2CAOH", _jc_save_toStation="%u5170%u5DDE%u897F%2CLAJ", _jc_save_fromDate="2018-02-14", _jc_save_toDate="2018-01-16", RAIL_DEVICEID="EN_3_EGSe2GWGHXJeCkFQ52kHvNCrNlkz9n1GOqqQ1wR0i98WsD8Gj-a3YHZ-XYKeESWgCiJyyucgSwkFOzVHhHqfpidLPcm2vK9n83uzOPuShO3Pl4lCydAtQu4BdFqz-RVmiduNFixrcrN_Ny43135JiEtqLaI")
|
||||
self.readImg(self.urlConf["getCodeImg"]["req_url"])
|
||||
self.readImg(self.urlConf["getCodeImg"])
|
||||
self.randCode = self.getRandCode()
|
||||
login_num += 1
|
||||
self.auth()
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
# -*- coding=utf-8 -*-
|
||||
import json
|
||||
import datetime
|
||||
import random
|
||||
import re
|
||||
import socket
|
||||
import urllib
|
||||
import sys
|
||||
import time
|
||||
from collections import OrderedDict
|
||||
|
||||
from agency.cdn_utils import CDNProxy
|
||||
from config import urlConf
|
||||
from init import login
|
||||
from config.emailConf import sendEmail
|
||||
|
@ -45,6 +48,7 @@ class select:
|
|||
self.login = GoLogin(self.httpClint, self.confUrl, self.is_aotu_code, self.aotu_code_type)
|
||||
self.is_download_img = False
|
||||
self.randCode = ""
|
||||
self.cdn_list = []
|
||||
|
||||
def get_ticket_info(self):
|
||||
"""
|
||||
|
@ -144,6 +148,7 @@ class select:
|
|||
:param code_url: 验证码url
|
||||
:return:
|
||||
"""
|
||||
print(code_url)
|
||||
self.login.readImg(code_url=code_url)
|
||||
self.is_aotu_code = True
|
||||
|
||||
|
@ -162,8 +167,8 @@ class select:
|
|||
获取提交车票请求token
|
||||
:return: token
|
||||
"""
|
||||
initdc_url = self.confUrl["initdc_url"]["req_url"]
|
||||
initdc_result = self.httpClint.send(initdc_url)
|
||||
initdc_url = self.confUrl["initdc_url"]
|
||||
initdc_result = self.httpClint.send(initdc_url,)
|
||||
token_name = re.compile(r"var globalRepeatSubmitToken = '(\S+)'")
|
||||
ticketInfoForPassengerForm_name = re.compile(r'var ticketInfoForPassengerForm=(\{.+\})?')
|
||||
order_request_params_name = re.compile(r'var orderRequestDTO=(\{.+\})?')
|
||||
|
@ -184,7 +189,7 @@ class select:
|
|||
获取乘客信息
|
||||
:return:
|
||||
"""
|
||||
get_passengerDTOs = self.confUrl["get_passengerDTOs"]["req_url"]
|
||||
get_passengerDTOs = self.confUrl["get_passengerDTOs"]
|
||||
get_data = {
|
||||
'_json_att': None,
|
||||
'REPEAT_SUBMIT_TOKEN': self.token
|
||||
|
@ -205,9 +210,9 @@ class select:
|
|||
raise PassengerUserException("未查找到常用联系人,请先添加联系人在试试")
|
||||
|
||||
def submitOrderRequestFunc(self, from_station, to_station, station_date=None):
|
||||
select_url = self.confUrl["select_url"]["req_url"].format(
|
||||
self.confUrl["select_url"]["req_url"] = self.confUrl["select_url"]["req_url"].format(
|
||||
station_date, from_station, to_station)
|
||||
station_ticket = self.httpClint.send(select_url, is_logger=False)
|
||||
station_ticket = self.httpClint.send(self.confUrl["select_url"])
|
||||
return json.loads(station_ticket)
|
||||
|
||||
def submitOrderRequestImplement(self, from_station, to_station,):
|
||||
|
@ -249,8 +254,7 @@ class select:
|
|||
break
|
||||
else:
|
||||
print ('正在尝试提交订票...')
|
||||
t = threading.Thread(target=self.callReadImg, args=self.confUrl["codeImgByOrder"]["req_url"])
|
||||
t.start()
|
||||
|
||||
# self.submitOrderRequestFunc(from_station, to_station, self.time())
|
||||
self.submit_station()
|
||||
self.getPassengerTicketStr(self._station_seat[j].encode("utf8"))
|
||||
|
@ -272,7 +276,7 @@ class select:
|
|||
检查用户是否达到订票条件
|
||||
:return:
|
||||
"""
|
||||
check_user_url = self.confUrl["check_user_url"]["req_url"]
|
||||
check_user_url = self.confUrl["check_user_url"]
|
||||
data = {"_json_att": ""}
|
||||
check_user = self.httpClint.send(check_user_url, data)
|
||||
check_user_flag = check_user['data']['flag']
|
||||
|
@ -300,8 +304,7 @@ class select:
|
|||
:param secretStr: 提交车次加密
|
||||
:return:
|
||||
"""
|
||||
|
||||
submit_station_url = self.confUrl["submit_station_url"]["req_url"]
|
||||
submit_station_url = self.confUrl["submit_station_url"]
|
||||
data = [('secretStr', urllib.unquote(self.secretStr)), # 字符串加密
|
||||
('train_date', self.time()), # 出发时间
|
||||
('back_train_date', self.time()), # 返程时间
|
||||
|
@ -355,21 +358,21 @@ class select:
|
|||
raise PassengerUserException("联系人不在列表中,请查证后添加")
|
||||
if len(self.user_info) is 1:
|
||||
passengerTicketStrList.append(
|
||||
'0,' + self.user_info[0]['passenger_id_type_code'] + "," + self.user_info[0][
|
||||
'0,' + self.user_info[0]['passenger_type'] + "," + self.user_info[0][
|
||||
"passenger_name"] + "," +
|
||||
self.user_info[0]['passenger_type'] + "," + self.user_info[0]['passenger_id_no'] + "," +
|
||||
self.user_info[0]['passenger_id_type_code'] + "," + self.user_info[0]['passenger_id_no'] + "," +
|
||||
self.user_info[0]['mobile_no'] + ',N')
|
||||
oldPassengerStr.append(
|
||||
self.user_info[0]['passenger_name'] + "," + self.user_info[0]['passenger_type'] + "," +
|
||||
self.user_info[0]['passenger_name'] + "," + self.user_info[0]['passenger_id_type_code'] + "," +
|
||||
self.user_info[0]['passenger_id_no'] + "," + self.user_info[0]['passenger_type'] + '_')
|
||||
else:
|
||||
for i in range(len(self.user_info)):
|
||||
passengerTicketStrList.append(
|
||||
'0,' + self.user_info[i]['passenger_id_type_code'] + "," + self.user_info[i][
|
||||
"passenger_name"] + "," + self.user_info[i]['passenger_type'] + "," + self.user_info[i][
|
||||
'0,' + self.user_info[i]['passenger_type'] + "," + self.user_info[i][
|
||||
"passenger_name"] + "," + self.user_info[i]['passenger_id_type_code'] + "," + self.user_info[i][
|
||||
'passenger_id_no'] + "," + self.user_info[i]['mobile_no'] + ',N_' + self.set_type)
|
||||
oldPassengerStr.append(
|
||||
self.user_info[i]['passenger_name'] + "," + self.user_info[i]['passenger_type'] + "," +
|
||||
self.user_info[i]['passenger_name'] + "," + self.user_info[i]['passenger_id_type_code'] + "," +
|
||||
self.user_info[i]['passenger_id_no'] + "," + self.user_info[i]['passenger_type'] + '_')
|
||||
return passengerTicketStrList, oldPassengerStr
|
||||
|
||||
|
@ -381,7 +384,7 @@ class select:
|
|||
:return:
|
||||
"""
|
||||
passengerTicketStrList, oldPassengerStr = self.getPassengerTicketStrListAndOldPassengerStr()
|
||||
checkOrderInfoUrl = self.confUrl["checkOrderInfoUrl"]["req_url"]
|
||||
checkOrderInfoUrl = self.confUrl["checkOrderInfoUrl"]
|
||||
data = OrderedDict()
|
||||
data['cancel_flag'] = 2
|
||||
data['bed_level_order_num'] = "000000000000000000000000000000"
|
||||
|
@ -421,7 +424,7 @@ class select:
|
|||
"""
|
||||
l_time = time.localtime(time.time())
|
||||
new_train_date = time.strftime("%a %b %d %Y", l_time)
|
||||
getQueueCountUrl = self.confUrl["getQueueCountUrl"]["req_url"]
|
||||
getQueueCountUrl = self.confUrl["getQueueCountUrl"]
|
||||
data = {
|
||||
'train_date': str(new_train_date) + " 00:00:00 GMT+0800 (中国标准时间)",
|
||||
'train_no': self.get_ticketInfoForPassengerForm()['queryLeftTicketRequestDTO']['train_no'],
|
||||
|
@ -467,7 +470,7 @@ class select:
|
|||
识别验证码
|
||||
:return: 识别结果
|
||||
"""
|
||||
checkRandCodeAnsyn = self.confUrl["checkRandCodeAnsyn"]["req_url"]
|
||||
checkRandCodeAnsyn = self.confUrl["checkRandCodeAnsyn"]
|
||||
randData = {
|
||||
"randCode": randCode,
|
||||
"rand": "randp",
|
||||
|
@ -484,7 +487,7 @@ class select:
|
|||
"""
|
||||
|
||||
passengerTicketStrList, oldPassengerStr = self.getPassengerTicketStrListAndOldPassengerStr()
|
||||
checkQueueOrderUrl = self.confUrl["checkQueueOrderUrl"]["req_url"]
|
||||
checkQueueOrderUrl = self.confUrl["checkQueueOrderUrl"]
|
||||
data = {
|
||||
"passengerTicketStr": self.set_type + "," + ",".join(passengerTicketStrList).rstrip("_{0}".format(self.set_type)),
|
||||
"oldPassengerStr": "".join(oldPassengerStr),
|
||||
|
@ -503,29 +506,21 @@ class select:
|
|||
try:
|
||||
if is_node_code:
|
||||
print("正在使用自动识别验证码功能")
|
||||
while True:
|
||||
if self.randCode:
|
||||
checkcode = self.checkRandCodeAnsyn(self.randCode)
|
||||
if checkcode == 'TRUE':
|
||||
print("验证码通过,正在提交订单")
|
||||
data['randCode'] = self.randCode
|
||||
self.randCode = ""
|
||||
break
|
||||
else:
|
||||
for i in range(3):
|
||||
codeImgByOrder = self.confUrl["codeImgByOrder"]["req_url"]
|
||||
self.login.readImg(codeImgByOrder)
|
||||
randCode = self.login.getRandCode()
|
||||
if checkcode == 'TRUE':
|
||||
print("验证码通过,正在提交订单")
|
||||
data['randCode'] = randCode
|
||||
break
|
||||
else:
|
||||
print ("验证码有误, {0}次尝试重试".format(i+1))
|
||||
print("验证码超过限定次数3次,放弃此次订票机会!")
|
||||
break
|
||||
for i in range(3):
|
||||
codeImgByOrder = self.confUrl["codeImgByOrder"]
|
||||
self.login.readImg(codeImgByOrder)
|
||||
randCode = self.login.getRandCode()
|
||||
checkcode = self.checkRandCodeAnsyn(randCode)
|
||||
if checkcode == 'TRUE':
|
||||
print("验证码通过,正在提交订单")
|
||||
data['randCode'] = randCode
|
||||
break
|
||||
else:
|
||||
print ("验证码有误, {0}次尝试重试".format(i+1))
|
||||
print("验证码超过限定次数3次,放弃此次订票机会!")
|
||||
else:
|
||||
print("不需要验证码")
|
||||
time.sleep(0.5)
|
||||
checkQueueOrderResult = self.httpClint.send(checkQueueOrderUrl, data)
|
||||
if "status" in checkQueueOrderResult and checkQueueOrderResult["status"]:
|
||||
c_data = checkQueueOrderResult["data"] if "data" in checkQueueOrderResult else {}
|
||||
|
@ -541,7 +536,7 @@ class select:
|
|||
elif "messages" in checkQueueOrderResult and checkQueueOrderResult["messages"]:
|
||||
print("提交订单失败,错误信息: " + checkQueueOrderResult["messages"])
|
||||
else:
|
||||
print("提交订单中,请耐心等待:" + str(checkQueueOrderResult["validateMessages"]))
|
||||
print("提交订单中,请耐心等待:" + checkQueueOrderResult["message"])
|
||||
except ValueError:
|
||||
print("接口 {} 无响应".format(checkQueueOrderUrl))
|
||||
|
||||
|
@ -562,7 +557,7 @@ class select:
|
|||
break
|
||||
try:
|
||||
data = {"random": _random, "tourFlag": "dc"}
|
||||
queryOrderWaitTimeUrl = self.confUrl["queryOrderWaitTimeUrl"]["req_url"]
|
||||
queryOrderWaitTimeUrl = self.confUrl["queryOrderWaitTimeUrl"]
|
||||
queryOrderWaitTimeResult = self.httpClint.send(queryOrderWaitTimeUrl, data)
|
||||
except ValueError:
|
||||
queryOrderWaitTimeResult = {}
|
||||
|
@ -595,7 +590,7 @@ class select:
|
|||
:return:
|
||||
"""
|
||||
self.initNoComplete()
|
||||
queryMyOrderNoCompleteUrl = self.confUrl["queryMyOrderNoCompleteUrl"]["req_url"]
|
||||
queryMyOrderNoCompleteUrl = self.confUrl["queryMyOrderNoCompleteUrl"]
|
||||
data = {"_json_att": ""}
|
||||
try:
|
||||
queryMyOrderNoCompleteResult = self.httpClint.send(queryMyOrderNoCompleteUrl, data)
|
||||
|
@ -624,7 +619,7 @@ class select:
|
|||
:return:
|
||||
"""
|
||||
self.httpClint.set_cookies(acw_tc="AQAAAEnFJnekLwwAtGHjZZCr79B6dpXk", current_captcha_type="Z")
|
||||
initNoCompleteUrl = self.confUrl["initNoCompleteUrl"]["req_url"]
|
||||
initNoCompleteUrl = self.confUrl["initNoCompleteUrl"]
|
||||
data = {"_json_att": ""}
|
||||
self.httpClint.send(initNoCompleteUrl, data)
|
||||
|
||||
|
@ -634,7 +629,7 @@ class select:
|
|||
:param sequence_no: 订单编号
|
||||
:return:
|
||||
"""
|
||||
cancelNoCompleteMyOrderUrl = self.confUrl["cancelNoCompleteMyOrder"]["req_url"]
|
||||
cancelNoCompleteMyOrderUrl = self.confUrl["cancelNoCompleteMyOrder"]
|
||||
cancelNoCompleteMyOrderData = {
|
||||
"sequence_no": sequence_no,
|
||||
"cancel_flag": "cancel_order",
|
||||
|
@ -648,17 +643,12 @@ class select:
|
|||
else:
|
||||
print("排队超时,取消订单失败, 订单号{0}".format(sequence_no))
|
||||
|
||||
# def call_submit_ticket(self, function_name=None):
|
||||
# """
|
||||
# 订票失败回调方法,默认执行submitOrderRequest()
|
||||
# 此方法暂不使用
|
||||
# :param function_name:
|
||||
# :return:
|
||||
# """
|
||||
# if function_name:
|
||||
# self.function_name()
|
||||
# else:
|
||||
# self.submitOrderRequest()
|
||||
def set_cdn(self):
|
||||
"""
|
||||
设置cdn
|
||||
:return:
|
||||
"""
|
||||
self.httpClint.cdn = eval(self.cdn_list[random.randint(0, len(self.cdn_list)-1)])["result"].replace("'", "")
|
||||
|
||||
def call_login(self, auth=False):
|
||||
"""
|
||||
|
@ -671,6 +661,16 @@ class select:
|
|||
self.login.go_login()
|
||||
|
||||
def main(self):
|
||||
is_cdn = _get_yaml()["is_cdn"]
|
||||
if is_cdn == 1:
|
||||
CDN = CDNProxy()
|
||||
self.cdn_list = CDN.all_cdn()
|
||||
if self.cdn_list:
|
||||
print("开启cdn查询")
|
||||
print("本次cdn总数为{}".format(len(self.cdn_list)))
|
||||
self.set_cdn()
|
||||
else:
|
||||
raise ticketConfigException("cdn列表为空,请先加载cdn")
|
||||
self.call_login()
|
||||
from_station, to_station = self.station_table(self.from_station, self.to_station)
|
||||
self.check_user()
|
||||
|
@ -689,7 +689,8 @@ class select:
|
|||
self.call_login()
|
||||
start_time = datetime.datetime.now()
|
||||
self.submitOrderRequestImplement(from_station, to_station)
|
||||
print "正在第{0}次查询 乘车日期: {1} 车次{2} 查询无票 代理设置 无 总耗时{3}ms".format(num, ",".join(self.station_dates), ",".join(self.station_trains), (datetime.datetime.now()-start_time).microseconds/1000)
|
||||
print "正在第{0}次查询 乘车日期: {1} 车次{2} 查询无票 cdn查询ip {4} 总耗时{3}ms".format(num, ",".join(self.station_dates), ",".join(self.station_trains), (datetime.datetime.now()-start_time).microseconds/1000, self.httpClint.cdn)
|
||||
self.set_cdn()
|
||||
except PassengerUserException as e:
|
||||
print e.message
|
||||
break
|
||||
|
@ -712,8 +713,8 @@ class select:
|
|||
print(e.message)
|
||||
except KeyError as e:
|
||||
print(e.message)
|
||||
except TypeError as e:
|
||||
print("12306接口无响应,正在重试 {0}".format(e.message))
|
||||
# except TypeError as e:
|
||||
# print("12306接口无响应,正在重试 {0}".format(e.message))
|
||||
except socket.error as e:
|
||||
print(e.message)
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ class HTTPClient(object):
|
|||
:param headers: Must be a dict. Such as headers={'Content_Type':'text/html'}
|
||||
"""
|
||||
self.initS()
|
||||
self._cdn = None
|
||||
|
||||
def initS(self):
|
||||
self._s = requests.Session()
|
||||
|
@ -79,9 +80,18 @@ class HTTPClient(object):
|
|||
self._s.headers.update({"Referer": referer})
|
||||
return self
|
||||
|
||||
def send(self, url, data=None, is_logger=True, **kwargs):
|
||||
@property
|
||||
def cdn(self):
|
||||
return self._cdn
|
||||
|
||||
@cdn.setter
|
||||
def cdn(self, cdn):
|
||||
self._cdn = cdn
|
||||
|
||||
def send(self, urls, data=None, **kwargs):
|
||||
"""send request to url.If response 200,return response, else return None."""
|
||||
allow_redirects = False
|
||||
is_logger = urls["is_logger"]
|
||||
error_data = {"code": 99999, "message": "重试次数达到上限"}
|
||||
if data:
|
||||
method = "post"
|
||||
|
@ -91,14 +101,22 @@ class HTTPClient(object):
|
|||
self.resetHeaders()
|
||||
if is_logger:
|
||||
logger.log(
|
||||
u"url: {0}\n入参: {1}\n请求方式: {2}\n".format(url,data,method,))
|
||||
for i in range(10):
|
||||
u"url: {0}\n入参: {1}\n请求方式: {2}\n".format(urls["req_url"],data,method,))
|
||||
if self.cdn:
|
||||
self.setHeadersHost(urls["Host"])
|
||||
url_host = self.cdn
|
||||
else:
|
||||
self.setHeadersHost("")
|
||||
url_host = urls["Host"]
|
||||
for i in range(urls["re_try"]):
|
||||
try:
|
||||
requests.packages.urllib3.disable_warnings()
|
||||
response = self._s.request(method=method,
|
||||
timeout=10,
|
||||
url=url,
|
||||
url="https://" + url_host + urls["req_url"],
|
||||
data=data,
|
||||
allow_redirects=allow_redirects,
|
||||
verify=False,
|
||||
**kwargs)
|
||||
if response.status_code == 200:
|
||||
if response.content:
|
||||
|
@ -108,10 +126,10 @@ class HTTPClient(object):
|
|||
return json.loads(response.content) if method == "post" else response.content
|
||||
else:
|
||||
logger.log(
|
||||
u"url: {} 返回参数为空".format(url))
|
||||
u"url: {} 返回参数为空".format(urls["req_url"]))
|
||||
return error_data
|
||||
else:
|
||||
sleep(0.1)
|
||||
sleep(urls["re_time"])
|
||||
except (requests.exceptions.Timeout, requests.exceptions.ReadTimeout, requests.exceptions.ConnectionError):
|
||||
pass
|
||||
except socket.error:
|
||||
|
|
Loading…
Reference in New Issue