- 浏览: 287365 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
masuweng:
如何给新人机会 -
masuweng:
多sql结果集按列合并新结果报表实现方案 -
Ahe:
赞
坚持长跑方能赢 -
masuweng:
好好好
程序员如何更好的了解自己所做的事情 -
小楠人:
laoguan123 写道楼主好,使用过一些excel导入导出 ...
excell导入导出
链接参数中添加token
headers中添加Authorization,body中也添加账号密码
body中使用账号和key
使用账号密码
添加时间参数的直接url+账户id
在body中加md5内容密码参数验证
url中,查询信息+密码后再md5加密的key
时间token加到headers
def self.query_products_list url = "#{ Settings.aikang_host }/api/v1/sku/instoreCAS?token=#{ Settings.aikang_token }" begin resp = HTTParty.get(url) rescue {} end end
headers中添加Authorization,body中也添加账号密码
def self.stock(sku = []) url = "#{Settings.aladdin_host}/index.php/rest/V2/product/stock" resp = HTTParty.post(url, body: {sku: sku}.to_json, headers: request_header) end # 产品新增 def self.create url = "#{Settings.aladdin_host}/index.php/rest/V2/product/new" resp = HTTParty.get(url, headers: request_header) end def self.order(orders) url = "#{Settings.aladdin_host}/index.php/api/http/order" secret_token = "Bearer " + Digest::MD5.hexdigest(Settings.aladdin_user_id.to_s + Settings.aladdin_company_code.to_s + Settings.aladdin_access_token.to_s).to_s headers = {'Authorization' => secret_token, 'Auth-Code' => Settings.aladdin_company_code.to_s, 'Content-Type' => 'application/json', 'User-Agent' => "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"} body = {user: {ald_user_id: Settings.aladdin_user_id.to_s, ald_user_email: Settings.aladdin_user_email.to_s}, orders: orders} puts body.to_json puts url puts headers resp = HTTParty.post(url, body: body.to_json, headers: headers) JSON.parse resp end private def self.request_header {'Authorization' => "Bearer #{Settings.aladdin_access_token}", 'Content-Type' => 'application/json'} end
body中使用账号和key
module Api module Baidu def self.get_access_token url = "https://aip.baidubce.com/oauth/2.0/token" body = {grant_type: 'client_credentials', client_id: Settings.baidu_ocr_api_key, client_secret: Settings.baidu_ocr_secret_key} resp = HTTParty.post(url, body: body) resp.parsed_response['access_token'] end def self.ocr_idcard(base64_code_image, side = :front) url = "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard" body = { access_token: get_access_token, detect_direction: true, id_card_side: side, image: base64_code_image, detect_risk: true } resp = HTTParty.post(url, body: body, headers: {'Content-Type' => 'application/x-www-form-urlencoded'}) resp.parsed_response end def self.ocr_business_license(base64_code_image, detect_direction = false) url = "https://aip.baidubce.com/rest/2.0/ocr/v1/business_license" body = { access_token: get_access_token, image: base64_code_image, detect_direction: detect_direction } resp = HTTParty.post(url, body: body, headers: {'Content-Type' => 'application/x-www-form-urlencoded'}) resp.parsed_response end end end
使用账号密码
module Api module Dibai def self.query_products(current_page, pagesize) resp = HTTParty.post("#{Settings.dibo_host}/api/get_products_list", body: {curpage: current_page, pagesize: pagesize}.merge(identity)) begin JSON.parse resp rescue {"state" => false, "data" => [], "message" => "接口异常", "count" => 0, "pages" => 0} end end def self.query_price(cas) resp = HTTParty.post("#{Settings.dibo_host}/api/instant_stock", body: {key_word: cas}.merge(identity)) begin JSON.parse resp rescue {"state" => false, "packing_count" => 0, "data" => [], "message" => "接口异常"} end end private def self.identity {username: Settings.dibo_username, password: Settings.dibo_password} end end end
添加时间参数的直接url+账户id
def self.query_products(startdate, current_page = 1, pagesize = 10000) key = Digest::MD5.hexdigest(startdate + 'jkchemical').upcase url = "#{Settings.bailingwei_host}/WebService/ThirdPartyPlatform/ThirdPartyPlatformServiceHandler.ashx?key=#{ key }&startDate=#{ startdate }&pageIndex=#{ current_page }&pageSize=#{ pagesize }&thirdPartyPlatformId=6823432af42d244d8926f" res = HTTParty.get(url) begin JSON.parse res rescue {} end end
在body中加md5内容密码参数验证
# 产品查询 def self.query_product(cas) url = "#{Settings.macklin_host}/api/attachs/products" body = {attachs_code: Settings.macklin_username, timestamp: Time.now.to_datetime.strftime("%Q"), cas: cas.to_s.strip} body[:signcode] = signature(body) begin resp = HTTParty.post(url, body: body) resp["msg"]["items"] rescue [] end end # 签名 def self.signature(params) str = params.keys.sort.map{|k| params[k]}.join('').to_s + Settings.macklin_password.to_s Digest::MD5.hexdigest str end
url中,查询信息+密码后再md5加密的key
def self.query_product(product_no) key = "#{ Settings.meryer_secret }KEYWYeAdcaDXQproductCode#{ product_no }#{ Settings.meryer_secret }" sign = Digest::MD5.hexdigest(key).upcase url = "#{ Settings.meryer_host }/api/getpro.ashx?KEY=WYeAdcaDXQ&productCode=#{ product_no }&SIGN=#{ sign }" begin resp = HTTParty.get(url) JSON.parse resp rescue {} end end
时间token加到headers
module Api module Qichacha def self.get_enterprise_detail(keyword) daily_max_count = Lookup.find_by(code: :qichacha_daily_request_max_count)&.name.to_i counter = Counter.find_or_create_by(usage: "http://i.yjapi.com/ECIV4/GetDetailsByName", entity_type: "Employee", entity_id: 1, key: Time.now.strftime("%Y%m%d000000")) if counter.count < daily_max_count url = "http://api.qichacha.com/ECIV4/GetDetailsByName?key=#{Settings.qichacha_key}&keyword=#{keyword.to_s.strip}" timespan = Time.now.to_i.to_s token = Digest::MD5.hexdigest(Settings.qichacha_key.to_s + timespan + Settings.qichacha_secret_key).upcase resp = HTTParty.get(url, headers: {"Token" => token, "Timespan" => timespan}) counter.incr! if resp["Status"].to_i == 200 return resp else return { "Status" => "over limit"} end end end end
发表评论
-
git仓库创建
2020-09-04 15:33 646推送现有文件夹 cd existing_folder git ... -
puma高并发
2020-08-19 09:31 437nginx突发大量502报错 top看一下,cpu的占用并不高 ... -
searchkick
2019-04-10 11:30 0# 通用查询块(条件) def general_ ... -
导入线下excell业务数据按权重匹配线上数据
2019-03-07 11:00 830业务场景:(系统间还没有接口对调,订单号暂时需要线下处理) 线 ... -
两对象同时映射一对一和一对多
2019-02-20 10:14 751class Kpi::Team < Applicat ... -
ruby一些类加载方式
2018-12-21 10:12 530require_dependency 'order/sco ... -
基于ruby的gem remotipart的异步上传文件
2018-12-21 10:11 497针对某一对象保存实例化之前,异步上传图片保存。 gem ' ... -
基于html2canvas的长图分享
2018-12-21 10:11 1113<span class="ui label ... -
rails处理上传读取excell&生成excell
2018-12-20 14:15 867gem 'spreadsheet' gem 'roo', ... -
基于ruby Mechanize的爬虫
2018-12-20 13:09 598def self.sang_carwler ... -
一些常用加密方式
2018-12-20 13:02 692sign = OpenSSL::Digest::SHA256. ... -
rails错误日志记录
2018-12-19 14:41 672Rails中对日志的处理采用的是“消息-订阅”机制,各部分组件 ... -
railsAPI接收Base64文件
2018-12-18 11:05 999tmp_dir = " ... -
ruby 调用savon接口示例
2018-12-18 10:51 936例子一 module Api module Aob ... -
关于国际商城现货展示与购物车的费用设计
2018-11-15 18:34 395关于国际商城现货展示 ... -
基于多线程的全局变量
2018-10-31 19:50 1066def current_nation def ... -
hash最小值过滤算法
2018-10-31 09:52 1039[["数量","包装" ... -
阿里云裸机部署rails运用
2018-10-08 20:33 1304登录阿里云后首先 sudo apt-get update a ... -
打包订单单据发给货代
2018-09-11 15:43 1143pdf&excell&png # rend ... -
基于mini_magick多图片合并/添加水印
2018-07-02 17:44 1656class ImageService requi ...
相关推荐
restful接口示例代码restful接口示例代码restful接口示例代码restful接口示例代码
该文档说明c#端如何创建和调用RestFul接口,并给出详细的代码说明,方便用户学习和深入掌握。
主要介绍了vue 调用 RESTful风格接口操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
spring boot restful 接口示例项目,很详细,希望对大家有帮助。
主要介绍了浅谈java调用Restful API接口的方式,具有一定借鉴价值,需要的朋友可以参考下。
本例是从前端,以Ajax的形式向豆瓣RESTFul服务器发起请求的简单示例。
Android Studio调用RestfulWCF接口
CAS restFul 接口调用 获取票据
Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。swagger可以将项目中所有的接口展现在...
RESTFUL接口文档模板,样式好看的接口文档模板,docx格式
开发restful接口应该遵循统一的规范,保持规范的统一才能方便维护和应用
NC65通过自带的rest文件检索restful接口,实现对外开放的restful接口,使用方式和其他web系统的使用方法一致,只是规范了访问链接格式
如果是restful接口,把type改成对应的post(增)、delete(删)、put(改)、get(查)即可 var post_data={"name":"test001","pass":"xxxx"}; $.ajax({ url: "http://192.168.10.111:8080/uc/login", type: '...
泛微 9.0 rest 接口调用说明 包含 token 、注册 创建流程接口 单点登录 说明
本篇文章主要介绍了jQuery调用RESTful WCF示例代码(GET方法/POST方法),需要的朋友可以过来参考下,希望对大家有所帮助
ASP如何调用Delphi开发DataSnap和Restful接口服务,同样适用于其他语言开发的RESTful服务。
SpringBoot+jpa Restful接口 无配置,最简单实现 jpa增删改差实现Restful 接口返回数据
最近在搞springboot的模块化开发,集成了shiro+jwt实现restful接口的token认证。 需新增测试表: CREATE TABLE `t_user` ( `user_id` int(11) unsigned zerofill NOT NULL AUTO_INCREMENT, `user_name` varchar(32...
由于调用restful接口是通过url的方式来访问后端的代码.新建CustRegisterApi类以后,除了基本的注入外,还需要配置url的地址.以后的demo就在这个类里面写了. <strong><span xss=removed>@RestController @...