Changes between Version 2 and Version 3 of comoUsarElApi


Ignore:
Timestamp:
Sep 9, 2015, 3:48:40 PM (9 years ago)
Author:
aaraujo
Comment:

Código ruby de ejemplo con autenticación

Legend:

Unmodified
Added
Removed
Modified
  • comoUsarElApi

    v2 v3  
    5555
    5656{{{
     57
    5758require 'net/https'
    5859require 'net/http/post/multipart'
    5960require "openssl"
     61require "json"
    6062
    6163# Solicitud POST
    62 #uri = URI.parse('https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/bdocs/cargas')
    63 uri = URI.parse('https://192.168.12.125:8443/Murachi/0.1/archivos/bdocs/cargas')
    64 req = Net::HTTP::Post::Multipart.new uri.path,
    65   "data" => UploadIO.new(StringIO.new("cadena de prueba"), "text/plain", "file.txt")
    66 #  "data" => StringIO.new("cadena de prueba")
    67 #  "data" => UploadIO.new(File.new("./file.txt"), "text/plain", "file.txt")
     64#uri = URI.parse('https://192.168.12.125:8443/Murachi/0.1/archivos/bdocs/cargas')
     65@uri = URI.parse('https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/bdocs/cargas')
     66@req = Net::HTTP::Post::Multipart.new @uri.path,
     67  "f1" => UploadIO.new(StringIO.new("cadena de prueba"), "text/plain", "file.txt"),
     68  "f2" => UploadIO.new(StringIO.new("SEGUNDA cadena de prueba"), "text/plain", "file2.txt")
     69# Agregar cabezera para autenticación con murachí
     70@req['Authorization'] = 'Basic YWRtaW46YWRtaW4='
    6871
    69 # Solicitud GET
    70 #uri = URI.parse('https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/version')
    71 #uri = URI.parse('https://192.168.12.125:8443/Murachi/0.1/archivos/version')
    72 #req = Net::HTTP::Get.new uri.path
     72@http = Net::HTTP.new(@uri.host, @uri.port)
     73@http.use_ssl = true
     74@http.verify_mode = OpenSSL::SSL::VERIFY_NONE
     75# RESPUESTA --->>
     76@res = @http.request(@req)
     77# Body
     78@json_resp = JSON.parse(@res.body)
     79puts @json_resp['containerId']
    7380
    74 http = Net::HTTP.new(uri.host, uri.port)
    75 http.use_ssl = true
    76 http.verify_mode = OpenSSL::SSL::VERIFY_NONE
     81# Listar archivos del contenedor registrado en la llamada anterior
     82@uri = URI.parse 'https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/bdocs/archivos/lista/%s' % @json_resp['containerId']
     83@req = Net::HTTP::Get.new @uri.path
     84@req['Authorization'] = 'Basic YWRtaW46YWRtaW4='
     85@res = @http.request(@req)
     86@json_resp = JSON.parse(@res.body)
     87@json_resp['dataFiles'].each do |file|
     88  puts file['filename']
     89end
    7790
    78 
    79 # RESPUESTA --->>
    80 res = http.request(req)
    81 
    82 # Headers
    83 puts res['Set-Cookie']            # => String
    84 puts res.get_fields('set-cookie') # => Array
    85 puts res.to_hash['set-cookie']    # => Array
    86 puts "Headers: #{res.to_hash.inspect}"
    87 
    88 # Status
    89 puts 'code',res.code       # => '200'
    90 puts 'message',res.message    # => 'OK'
    91 puts 'class.name',res.class.name # => 'HTTPOK'
    92 
    93 # Body
    94 puts res.body
    95 
    96 #  "data" => StringIO.new("cadena de prueba")
    9791}}}
    9892
    99  * Ejecutar: {{{ruby multipart.rb}}}
     93En ese código se cargan dos (02) archivos de texto y se agregan a un contenedor BDOC ({{{https://192.168.12.125:8443/Murachi/0.1/archivos/bdocs/cargas}}}). Luego se listan los archivos que tiene el contenedor ({{{https://murachi.cenditel.gob.ve/Murachi/0.1/archivos/bdocs/archivos/lista/%s}}}). Para mayor información y documentación de los recursos disponibles [https://murachi.cenditel.gob.ve/apidoc/].
    10094
     95 * Ejecutar:
     96{{{ruby multipart.rb}}}
     97