背景:

这个是中东一个快递公司的api接口,背景就是要调用该公司的api接口,查询快递的物流信息,由于它是使用webservice的方式访问,所以特此记录一下

笔者是使用python3.6

安装:

pip3.6 install suds-jurko

代码:

from suds.client import Client
url = Default.ARAMEX_URL
url = "http://ws.aramex.net/ShippingAPI.V2/Tracking/Service_1_0.svc?singleWsdl"
client = Client(url)print(client)

输出内容:

Suds ( https://fedorahosted.org/suds/ )  version: 0.6Service ( Service_1_0 ) tns="http://ws.aramex.net/ShippingAPI/v1/"Prefixes (3)ns0 = "http://schemas.microsoft.com/2003/10/Serialization/"ns1 = "http://schemas.microsoft.com/2003/10/Serialization/Arrays"ns2 = "http://ws.aramex.net/ShippingAPI/v1/"Ports (2):(BasicHttpBinding_Service_1_0)Methods (2):TrackPickup(ClientInfo ClientInfo, Transaction Transaction, xs:string Reference)TrackShipments(ClientInfo ClientInfo, Transaction Transaction, ns1:ArrayOfstring Shipments, xs:boolean GetLastTrackingUpdateOnly)Types (11):ns1:ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpYArrayOfNotificationArrayOfTrackingResultns1:ArrayOfstringClientInfoNotificationTrackingResultTransactionns0:charns0:durationns0:guid(BasicHttpBinding_Service_1_01)Methods (2):TrackPickup(ClientInfo ClientInfo, Transaction Transaction, xs:string Reference)TrackShipments(ClientInfo ClientInfo, Transaction Transaction, ns1:ArrayOfstring Shipments, xs:boolean GetLastTrackingUpdateOnly)Types (11):ns1:ArrayOfKeyValueOfstringArrayOfTrackingResultmFAkxlpYArrayOfNotificationArrayOfTrackingResultns1:ArrayOfstringClientInfoNotificationTrackingResultTransactionns0:charns0:durationns0:guid

解析一下:

我是选择了它默认的接口版本 BasicHttpBinding_Service_1_0(那你可以看出还有一个BasicHttpBinding_Service_1_01的版本)

你看到标红色字体的TrackPickup,TrackShipments就是该版本的接口,提供两个方法,一TrackPickup为追踪退回的运单,一个TrackShipments是查询订单

ClientInfo,Transaction,ns1:ArrayOfstring,xs:boolean蓝色字体为: 入存参数的类型,

ClientInfo,Transaction,Shipments,GetLastTrackingUpdateOnly 黑色字体(蓝色后的)为: 入存参数

完整代码:

from suds.client import Client
url = Default.ARAMEX_URL
client = Client(url)clientobj = client.factory.create('ClientInfo')
clientobj.UserName = Default.ARAMEX_USER_NAME
clientobj.Password = Default.ARAMEX_PASSWORD
clientobj.Version = Default.ARAMEX_VERSION
clientobj.AccountNumber = Default.ARAMEX_ACCOUNT_NUMBER
clientobj.AccountPin = Default.ARAMEX_ACCOUNT_PIN
clientobj.AccountEntity = Default.ARAMEX_ACCOUNT_ENTITY
clientobj.AccountCountryCode = Default.ARAMEX_ACCOUNT_COUNTRY_CODEtransactionobj = client.factory.create('Transaction')
transactionobj.Reference1 = ''
transactionobj.Reference2 = ''
transactionobj.Reference3 = ''
transactionobj.Reference4 = ''
transactionobj.Reference5 = ''shipments = client.factory.create('ns1:ArrayOfstring')
shipments.string = [31043002045, 31043002266]# True仅获取最后末条信息, False 获取所有末条信息
res = client.service.TrackShipments(clientobj, transactionobj, shipments, False)

要点:

1,创建参数可以根据client.factory.create('')创建某种类型的参数.

2,要是想知道该类型下需要填入什么信息(如,UserName,Password等)那么,你需要打开url,看里面需要传一些什么参数

备注:

希望能给第一次访问webservice  API的朋友们一些认识,也作为自己第一次使用此类型api的一个记录

python使用suds访问用.net开发的webservice的API接口相关推荐

  1. python suds_python suds访问webservice服务实现

    安装suds 在Python3环境下如果使用:pip install suds,应该会报ImportError: No module named client,这里推荐安装suds-py3. 使用 1 ...

  2. 直播系统开发中如何优化API接口的并发

    概述 在直播系统中,API接口并发的优化是非常重要的,因为它可以提高系统的稳定性和性能.本文将介绍一些优化API接口并发的方法. 理解API接口并发 在直播系统中,API接口是用于处理客户端请求的关键 ...

  3. 淘宝接口API开发 taobao代购系统API接口调用

    本次开发接口如下: 淘宝API接口中文名称 api_name 参数 说明 对应官方接口 获得淘宝商品详情 item_get num_iid=39881745164&is_promotion=1 ...

  4. 【转】淘宝接口API开发 taobao代购系统API接口调用

    此文章于 2017-05-03发布 本次开发接口如下: 淘宝API接口中文名称 api_name 参数 说明 对应官方接口 获得淘宝商品详情 item_get num_iid=39881745164& ...

  5. 淘宝接口API开发-taobao代购系统API接口调用

    本次开发接口如下: 淘宝API接口中文名称 api_name 参数 说明 对应官方接口 获得淘宝商品详情 item_get num_iid=39881745164&is_promotion=1 ...

  6. 用PHP开发手机 APP应用API接口开发

    这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发 ...

  7. 有道毕滢的python好吗_关于如何申请有道翻译api接口的阿里云论坛用户知识和技术交流...

    {"moduleinfo":{"list_count":[{"count_phone":21,"count":21}], ...

  8. 个人微信号二次开发的实现,api接口

    各位兄弟姐妹们大家好!!!! 我又瞧到了好玩的微信机器人分享给大家! 社群运营这几年风头正盛,不能落伍啊,我们也赶紧组建了社群. 但是微信群还是社交属性为主的,当我们运营多个社群的时候会发现效率过低, ...

  9. python动画篮球大小_篮球比赛动画直播数据api接口示例

    分享下篮球比赛动画直播api数据接口代码示例,详细了解请查看接口文档,需注册下 package com.huaying.demo.basketball; import javax.xml.bind.J ...

最新文章

  1. docker logs 查看实时日志
  2. memsql 落地mysql_MemSQL初体验 - (2)初始化测试环境
  3. 使用git clone的时候报错:Received HTTP code 503 from proxy after CONNECT
  4. win10怎么把c盘锁住_win10如何给c盘分区
  5. centos daemonize_手把手教你在centos上配置Django项目(超详细步骤)
  6. leetcode —— 45. 跳跃游戏 II
  7. php时间函数单字母,ThinkPhp单字母函数
  8. Servlet笔记10--Session
  9. 【CentOS后遗症】刚毕业的运维小姐姐 Linux用不了!你的也用不了了~
  10. 2012年10月国庆长假天津-内蒙古自驾游之我们在路上
  11. iOS - LocalNotification
  12. 深度学习用于图像/视频增强的损失函数(loss)及评价指标
  13. 如何使用百数低代码开发平台制作问卷调查表?
  14. 工欲善其事,必先利其器——学会不将就,让自己事半功倍!
  15. 清除U盘内所占的隐藏空间(U盘容量突然变小了)
  16. 23款网盘全都能变成本地硬盘
  17. 键盘一直自动按/问题的解决。。。
  18. 解读 | 数据分析领域七大热门职业
  19. 计算机基础知识八股文(网络篇)
  20. 【菜鸟dei学习】Nginx简单配置:负载均衡与动静分离

热门文章

  1. echarts 柱状图柱子改成圆柱体_Origin做多因子柱状图
  2. xLog日志文件写入改成24小时制
  3. 微信号名称乱码什么情况_微信号改成什么比较有意义?
  4. 系统检测到您正在使用网页抓取工具访问_SEO优化:搜索引擎蜘蛛抓取异常,原来是这个原因!...
  5. python实训计划_Python新手自学计划
  6. vue中_ob_:observer的处理办法
  7. 人形时钟_Mecanim人形生物
  8. java设计模式3,里氏替换原则
  9. 游戏开发-2022-10-17-疯狂弹球初级版
  10. 波音承认:软件测试走捷径导致了载人飞船首飞失败