python接口的调用方法

第一个实例:

#!/usr/bin/env python
# -*- coding: utf_8 -*-
import urllib2,urllib
import json
import unittest, time, re

class APITest():
    ‘‘‘
    接口测试类
    ‘‘‘
    def apicall(self,method,url,getparams,postparams):
        str1=‘‘
        #GET方法调用
        if method==‘GET‘:
            if getparams!="":
                for k in getparams:
                    str1=str1+k+‘=‘+urllib2.quote(str(getparams.get(k)))
                    if len(getparams)>2:
                        str1=str1+"&"
                url=url+"&"+str1;
            result = urllib2.urlopen(url).read()
        #POST方法调用
        if method==‘POST‘:
            # if postparams!="":
            data = urllib.urlencode(postparams)
            req = urllib2.Request(url, data)
            response = urllib2.urlopen(req)
            result = response.read()
        jsdata=json.loads(result)
        return jsdata

class APIGetAdList(unittest.TestCase):
    def test_call(self):
        api=APITest()
        getparams=‘‘
        postparams=‘‘
        data=api.apicall(‘POST‘,‘http://api.m.uuzu.com/‘,getparams,postparams)
        print data          

if __name__ == "__main__":
    unittest.main()

第二个实例:

# -*- coding: utf-8 -*-
import json
import requests
import urllib
import urllib2

KEY = ‘***********************‘    # change to your API KEY
url = ‘http://api.m.uuzu.com/‘

req_info = u‘讲个笑话‘.encode(‘utf-8‘)

query = {‘key‘: KEY, ‘info‘: req_info}
headers = {‘Content-type‘: ‘text/html‘, ‘charset‘: ‘utf-8‘}

# 方法一、用requests模块已get方式获取内容
r = requests.get(url, params=query, headers=headers)
res = r.text
print json.loads(res).get(‘data‘)

# 方法二、用urllib和urllib2库获取内容
data = urllib.urlencode(query)
req = urllib2.Request(url, data)
f = urllib2.urlopen(req).read()
print json.loads(f).get(‘data‘)
时间: 2024-08-30 15:18:33

python接口的调用方法的相关文章

快递api网接口快递调用方法

----------------实体类 [DataContract] public class SyncResponseEntity { public SyncResponseEntity() { } /// <summary> /// 需要查询的快递代号 /// </summary> [DataMember(Order = 0, Name = "id")] public string ID { get; set; } /// <summary> /

IP地址查询接口及调用方法

1.查询地址 搜狐IP地址查询接口(IP):http://pv.sohu.com/cityjson 1616 IP地址查询接口(IP+地址):http://w.1616.net/chaxun/iptolocal.php 126(地址): http://ip.ws.126.net/ipquery 2.使用 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>//ie指定编码,默认是gbk <

云极知客开放平台接口调用方法(C#)

云极知客为企业提供基于SAAS的智能问答服务.支持企业个性化知识库的快速导入,借助语义模型的理解和分析,使企业客户立即就拥有本行业的24小时客服小专家.其SAAS模式实现零成本投入下的实时客服数据的可视化,优化企业业务流程,指导企业决策. 说白了,其实就是一个智能客服机器人,你可以和他聊天,也可以和他扯淡,但重要的是,你可以用他为客服,教他东西,解放自己.OK,广告到此,下面看看接口相关的东西. 云极知客的接口文档请点击这里. 以下使用C#.NET介绍两个接口的调用方法,平台接口均设置为POST

EC应用之多平台接口远程调用

在传统的网络应用编写中都是通过接收消息处理然后应答,但在.net 3.0后提供了一个基于业务接口调用的网络交互体系WCF.基于WCF .NET程序可以通过接口调用的方式进行远程业务调用处理.由于WCF是MS提供的体系,所以在mono和xamarin所支持的其他平台都没有良好地被支持.但随便着mono和xamarin的迅速发展,基于业务接口远程调用的服务体系该提供给更多平台提供通讯的便利性;为了解决这些问题EC组件提供了一套基于业务接口远程调用方法实现,借助于mono和xamarin可以使些功能简

python使用suds调用webservice接口

最近做接口对接,遇到了.net开发的webservice接口,因为python第一次与webservice对接,连问带查,最后使用suds库来实现了 1.安装suds mac: sudo pip install suds linux: easy_install suds 也可以通过去官网下载suds代码,再本地安装 2. 引用初始化 1 >>> from suds.client import Client 2 >>> url = 'http://www.gpsso.co

用Python写WebService接口并且调用

一.用ladon框架封装Python为Webservice接口 另用soaplib实现请看:    http://www.jianshu.com/p/ad3c27d2a946 功能实现的同时,希望将接口开放给别人,而封装python接口的一个再简单不过的框架Ladon,而且提供不同的协议,包括SOAP和Json等格式的接口.本篇紧接着上上篇(Django部署)的.虽然很简单,但是官网的文档还是不够详细,下面介绍我配置的过程及遇到的问题. 1.安装Ladon包 使用Ladon框架,首先需要安装La

java调用webservice接口 几种方法

webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口.今天搜索到了非常好的 webservice provider列表 http://www.webservicex.net/WCF/default.aspx 这上面列出了70多个包括很多方面的free webservice provider,utilities->global weather就

从头认识java-12.6 接口与类型信息(怎么绕过接口直接调用类的所有方法)

这一章节我们来讨论一下接口与类型信息. 在之前的章节里面我们提到接口,父类引用子类对象,然后把方法给缩窄了,但是我们这一章节学习到反射,这个约束就变得没有那么严格. 我们来看看下面的例子: package com.ray.ch11; public class Test { public static void main(String[] args) { Person man = new Man(); man.sleep(); man.run(); // man.say();//error } }

对服务器端接口的调用,自己手写了一个脚本,但返回信息的中文总是乱码(这个方法很不错,重要的是解决思路,寻找手写脚本与录制脚本 生成目录文件的区别)

对服务器端接口的调用,自己手写了一个脚本,但返回信息的中文总是乱码.在网上搜索了很多方法,包括: 1.Tools->Recording Options->Advanced->勾选Support charset UTF-8 2.Run-time Settings->Browser->Browser Emulation->Change,将language置为中文 3.web_add_auto_header("Accept-Language","