zoukankan      html  css  js  c++  java
  • python http post json

    直接上代码吧

    ## python3

     1 #!/usr/bin/env python3
     2 # -*- coding: utf-8 -*-
     3 
     4 import json, gzip
     5 from urllib import request, parse
     6 
     7 def REQ(url, params=None, headers=None):
     8     headers = headers or {}
     9     if params: # dict
    10         params = json.dumps(params) if headers['Content-Type'] and 'application/json' in headers['Content-Type'] else parse.urlencode(params)
    11         params = params.encode('utf-8')
    12 
    13     # 当 params 不为空,method 为 POST
    14     req = request.Request(url, params, headers)
    15     with request.urlopen(req, timeout=60) as page:
    16         res = page.read()
    17 
    18         if page.getheader('Content-Encoding') == 'gzip':
    19             res = gzip.decompress(res).decode('utf-8')
    20         else:
    21             res = res.decode('utf-8')
    22 
    23         if 'application/json' in page.getheader('Content-Type'):
    24             res = json.loads(res)
    25 
    26         return res
    27 
    28 url = 'http://localhost/xxx'
    29 d = {'a': 'aa', 'b': 'bb'}
    30 headers = { 'Content-Type': 'application/json; charset=utf-8' }
    31 
    32 res = REQ(url, d, headers)
    33 print(res)

    ##python2:  

     1 #coding=utf-8
     2 import os
     3 import urllib
     4 import urllib2
     5 import re
     6 import cookielib
     7 import json
     8 
     9 
    10 headers = {}
    11 headers['Content-Type'] = 'application/json; charset=utf-8'
    12 
    13 values = {}
    14 values["uuid"] = 'XXXXX'
    15 values['uid'] = '86945'
    16 port = '3002'
    17 
    18 route = 'login'
    19 
    20 
    21 post_data = urllib.urlencode(values)
    22 j_data = json.dumps(values)
    23 print j_data
    24 
    25 def jsonPost(url):
    26     req = urllib2.Request(url, j_data, headers)
    27     page = urllib2.urlopen(req)
    28     res = page.read()
    29     page.close()
    30     return res
    31 
    32 
    33 res = jsonPost("http://127.0.0.1:%s/%s" % (port, route))
    34 print res

    dic = {'a': 'aa', 'b': 'bb'}

    urllib.urlencode(dic)  // dictionary 转成 url 中的参数: a=aa&b=bb

    json.dumps(dic)  // dictionary 转成 json: {"a":"aa", "b":"bb"}

    +V d2h5X251bGw= 请备注:from博客园
  • 相关阅读:
    postgresql 主从复制并切换
    执行sql中的 函数,function
    读取Core下的appsettings.json的值的时候中文乱码
    Core 定时任务之HangFire
    7 ~ express ~ body-parser 模块的使用
    6 ~ express ~ 搭建用户注册前端页面
    5 ~ express ~ 连接数据库
    4 ~ express ~ 划分模块开发
    3 ~ express ~ 静态文件托管
    2 ~ express ~ 模板引擎的配置与使用
  • 原文地址:https://www.cnblogs.com/hangj/p/4720628.html
Copyright © 2011-2022 走看看