{"id":17836,"date":"2020-02-04T08:33:35","date_gmt":"2020-02-04T00:33:35","guid":{"rendered":"http:\/\/4563.org\/?p=17836"},"modified":"2020-02-04T08:33:35","modified_gmt":"2020-02-04T00:33:35","slug":"%e5%85%8d%e8%b4%b9%e7%94%a8%e9%98%bf%e9%87%8c%e5%9b%be%e5%ba%8a%e6%9d%a5%e5%ad%98%e6%94%be%e5%88%87%e5%89%b2%e5%a5%bd%e7%9a%84%e8%a7%86%e9%a2%91%e5%88%86%e7%89%87-vps%e8%b5%84%e8%ae%af","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=17836","title":{"rendered":"[\u514d\u8d39]\u7528\u963f\u91cc\u56fe\u5e8a\u6765\u5b58\u653e\u5207\u5272\u597d\u7684\u89c6\u9891\u5206\u7247 &#8211; VPS\u8d44\u8baf"},"content":{"rendered":"<br \/>\n<h3>\u8bf4\u660e<\/h3>\n<p>\u6709\u65f6\u5019\u4e3b\u7ad9\u5ba3\u4f20\u9700\u8981\u4e00\u4e9b\u89c6\u9891\uff0c\u4f46\u662f\u81ea\u5df1\u5b58\u653e\u901f\u5ea6\u548c\u5e26\u5bbd\u53ef\u80fd\u90fd\u4e0d\u591f\uff0c\u8fd9\u4e2a\u89c6\u9891\u53ef\u4ee5\u5c06\u89c6\u9891\u5b58\u5230\u56fe\u5e8a\u4e0a\u3002<\/p>\n<h3>\u4ee3\u7801<\/h3>\n<pre><code>#!\/usr\/bin\/python3 # -*- coding: UTF-8 -*-   import requests, os from urllib3 import encode_multipart_formdata from concurrent.futures import ThreadPoolExecutor, as_completed   def m_upload(filename):     fakename = os.path.splitext(filename)[0] + '.jpg'     payload = {'scene':'aeMessageCenterV2ImageRule', 'name':fakename, 'file': (fakename,open(filename,'rb').read())}     encode_data = encode_multipart_formdata(payload)     data = encode_data[0]     headers['Content-Type'] = encode_data[1]     for _ in range(3):         try:             r = requests.post(url, headers=headers, data=data, timeout = 20)         except:             print('Failed to upload ' + filename)             continue         if r and 'url' in r.text:             print(filename + &quot; upload&quot;)             return r.json()['url']         else:             print('Failed to upload ' + filename)     return filename + ' ERROR'   if __name__ == '__main__':     for file in os.listdir():         if '.m3u8' in file:             m3u8 = open(file)             break     new_m3u8 = open('output.m3u8', 'w')     headers = {'user-agent':'iAliexpress\/6.22.1 (iPhone; iOS 12.1.2; Scale\/2.00)', 'Accept':'application\/json', 'Accept-Encoding':'gzip,deflate,sdch', 'Connection':'close'}     url = 'https:\/\/kfupload.alibaba.com\/mupload'     file_upload = {t.strip():'' for t in m3u8.readlines() if t[0]!='#'}     m3u8.seek(0)     # \u5982\u679c\u6709\u5931\u8d25\u7684\uff0c\u53ef\u4ee5\u8c03\u8282\u4e0b\u65b9\u7684workers\u6570\u91cf\uff0c\u51cf\u5c11\u4e00\u4e9b\u8bd5\u8bd5\u770b     executor = ThreadPoolExecutor(max_workers=8)     futures = {executor.submit(m_upload, filename):filename for filename in file_upload.keys()}     for future in as_completed(futures):         file_upload[futures[future]] = future.result()     for line in m3u8:         if line[0] != '#':             new_m3u8.write(file_upload[line.strip()] + 'n')         else:             new_m3u8.write(line)     print(&quot;Complete&quot;) <\/code><\/pre>\n<div style=\"padding: 10px 0; margin: 20px auto; width: 100%; font-size:16px; text-align: center;\">      <button disable=\"enable\" onclick=\"var qr = document.getElementById('QR'); if (qr.style.display === 'none') {qr.style.display='block';} else {qr.style.display='none'}\">          <span>\u6253\u8d4f<\/span><\/button>      <\/p>\n<div style=\"display: none;\">\n<div style=\"display: inline-block\">              <a rel=\"group\">                  <img decoding=\"async\" src=\"http:\/\/4563.org\/wp-content\/uploads\/2020\/02\/20200204_5e38ef1ade2f0.jpg\" alt=\"[\u514d\u8d39]\u7528\u963f\u91cc\u56fe\u5e8a\u6765\u5b58\u653e\u5207\u5272\u597d\u7684\u89c6\u9891\u5206\u7247 - VPS\u8d44\u8baf\"><\/a>              <\/p>\n<p>\u5fae\u4fe1\u6253\u8d4f<\/p>\n<\/p><\/div>\n<div style=\"display: inline-block\">              <a rel=\"group\">                  <img decoding=\"async\" src=\"http:\/\/4563.org\/wp-content\/uploads\/2020\/02\/20200204_5e38ef1dd76bf.jpg\" alt=\"[\u514d\u8d39]\u7528\u963f\u91cc\u56fe\u5e8a\u6765\u5b58\u653e\u5207\u5272\u597d\u7684\u89c6\u9891\u5206\u7247 - VPS\u8d44\u8baf\"><\/a>              <\/p>\n<p>\u652f\u4ed8\u5b9d\u6253\u8d4f<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u8bf4\u660e \u6709\u65f6\u5019\u4e3b\u7ad9\u5ba3\u4f20\u9700\u8981\u4e00\u4e9b\u89c6\u9891\uff0c&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/17836"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17836"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/17836\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17836"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17836"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17836"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}