{"id":1214,"date":"2016-12-11T16:20:25","date_gmt":"2016-12-11T08:20:25","guid":{"rendered":"https:\/\/yanjingang.com\/blog\/?p=1214"},"modified":"2017-01-11T19:38:27","modified_gmt":"2017-01-11T11:38:27","slug":"python%e5%8f%91%e9%80%81post%e8%af%b7%e6%b1%82","status":"publish","type":"post","link":"https:\/\/yanjingang.com\/blog\/?p=1214","title":{"rendered":"python\u53d1\u9001post\u8bf7\u6c42"},"content":{"rendered":"<p>python\u53d1\u9001post\u8bf7\u6c42\u4ee3\u7801\u793a\u4f8b\uff1a<\/p>\n<pre class=\"pure-highlightjs\"><code class=\"\">\r\nimport sys\r\nimport httplib, urllib\r\nimport traceback\r\n\r\ndef post(params):\r\n\t'\u53d1\u9001post\u8bf7\u6c42'\r\n\tresult = {'status':500, 'reason':'', 'response':'', 'headers':''}\r\n\thttpClient = None\r\n\ttry:\r\n\t    data = urllib.urlencode(params['data'])\r\n\t    httpClient = httplib.HTTPConnection(params['hostname'], params['port'], timeout=30)\r\n\t    if params.has_key('header'):\r\n\t\thttpClient.request(\"POST\", params['path'], data, params['header'])\r\n\t    else:\r\n\t\thttpClient.request(\"POST\", params['path'], data)\r\n\t    response = httpClient.getresponse()\r\n\t    result['status'] = response.status\r\n\t    result['reason'] = response.reason\r\n\t    result['response'] = response.read()\r\n\t    result['headers'] = response.getheaders() #\u83b7\u53d6\u5934\u4fe1\u606f\r\n\texcept:\r\n\t    self.writelog(\"error\", 'post fail! [' + params['path'] + '][' + data + ']\\n' + self.get_trace())\r\n\tfinally:\r\n\t    if httpClient:\r\n\t\thttpClient.close()\r\n\treturn result\r\n\r\ndef get_trace():\r\n\t'\u83b7\u5f97\u5f02\u5e38\u6808\u5185\u5bb9'\r\n\ttry:\r\n\t    errmsg = \"Traceback (most recent call last):\\n \"\r\n\t    exc_type, exc_value, exc_tb = sys.exc_info()\r\n\t    for filename, linenum, funcname, source in traceback.extract_tb(exc_tb):\r\n\t\terrmsg += \"  File \\\"%-23s\\\", line %s, in %s() \\n\\t  %s \\n\" % (filename, linenum, funcname, source)\r\n\t    errmsg += str(exc_type.__name__) + \": \" + str(exc_value)\r\n\t    #traceback.print_exc()\r\n\texcept:\r\n\t    errmsg = ''\r\n\treturn errmsg\r\n\r\n\r\n#\u6d4b\u8bd5post\u8bf7\u6c42\r\nparams = {}\r\nparams['hostname'] = \"test.yanjingang.com\"\r\nparams['port'] = 80\r\nparams['path'] = \"\/api.php\"\r\nparams['data'] = {'t': 25}\r\nparams['timeout'] = 30\r\nparams['header'] = {\"Content-type\": \"application\/x-www-form-urlencoded\", \"Accept\": \"text\/plain\"}\r\n\r\nres = self.post(params)\r\nprint res['status']\r\nprint res['response']\r\n\r\n\r\n\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c\uff1a<\/p>\n<p><a href=\"https:\/\/yanjingang.com\/blog\/?attachment_id=1217\" rel=\"attachment wp-att-1217\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-1217\" src=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2017\/01\/pythonpost.png\" alt=\"pythonpost\" width=\"387\" height=\"45\" srcset=\"https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2017\/01\/pythonpost.png 387w, https:\/\/yanjingang.com\/blog\/wp-content\/uploads\/2017\/01\/pythonpost-300x35.png 300w\" sizes=\"(max-width: 387px) 100vw, 387px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>python\u53d1\u9001post\u8bf7\u6c42\u4ee3\u7801\u793a\u4f8b\uff1a import sys import httplib, urllib i [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[255],"tags":[470,468,434,471,469],"_links":{"self":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1214"}],"collection":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1214"}],"version-history":[{"count":0,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1214\/revisions"}],"wp:attachment":[{"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yanjingang.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}