requests.put (REST) [RESOLVIDO]

1. requests.put (REST) [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/09/2014 - 11:42h

Pessoal bom dia...
Estou com um problema em tentar dar um update no meu json do servidor, será que etou enviando corretamente?
Segue:


Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> import requests
>>> import json
>>> req_json = 'http://186.233.128.48/detraf_voxbras/seek/block'
>>> data = requests.get(req_json)
>>> dec = json.loads(data.text)
>>> requests.put(req_json,data=dec[0])
<Response [405]>

Meu json do servidor:

Block List

list all endpoints event block

GET /detraf_voxbras/seek/block/
HTTP 200 OK
Content-Type: application/json
Vary: Accept
Allow: POST, OPTIONS, GET

[
    {
        "id_block": 1, 
        "ip_sw": "10.100.0.11", 
        "mac": "00-01-40-2a-0a-fc", 
        "date_start_env": "2014-09-09T09:10:01", 
        "date_end_env": "2014-09-09T09:10:02", 
        "number_tel": "", 
        "speed": 1, 
        "port": 1, 
        "tag_vlan_data_lan1": "1", 
        "tag_vlan_data_lan2": "1", 
        "tag_vlan_data_hpna": "1", 
        "tag_vlan_voip": "100", 
        "name_end_point": "teste", 
        "status_event": "ATIVO"
    }, 
    {
        "id_block": 4, 
        "ip_sw": "10.100.0.11", 
        "mac": "00-01-40-2a-0c-76", 
        "date_start_env": "2014-09-10T21:36:48", 
        "date_end_env": "2014-09-15T21:32:42", 
        "number_tel": "", 
        "speed": 1, 
        "port": 2, 
        "tag_vlan_data_lan1": "2", 
        "tag_vlan_data_lan2": "3", 
        "tag_vlan_data_hpna": "4", 
        "tag_vlan_voip": "5", 
        "name_end_point": "Silvia Maria Cog", 
        "status_event": "ATIVO"
    }
]
 



  


2. Erro 405

Roberto Soares (3spreto)
roberto_espreto

(usa Slackware)

Enviado em 10/09/2014 - 14:11h

@arrobaigoremuniz,

Veja que apresenta um erro 405, que significa, "Method not allowed" (Método Não Permitido).

Você está tentando enviar um PUT para o servidor, verifique que no servidor é aceito apenas 3 métodos:

Allow: POST, OPTIONS, GET

Altere o requests.put por requests.post que possivelmente irá funcionar.

Link para consulta, se quiser: http://www.pythonforbeginners.com/requests/using-requests-in-python

Abs,


3. Re: requests.put (REST) [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/09/2014 - 15:29h

Obrigado pela resposta. Mas é que como eu estava passando mais de um elemento no json precisava especificar qual deles iria receber a atualização via put.








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts