Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 1, 2018 20:33:26

oleg_gubin
Зарегистрирован: 2018-08-01
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодирование запроса в urlencode

# -*- coding: utf-8 -*-
import requests
import urllib
import base64


URL = 'http://r23-rc.zdrav.netrika.ru/acs2/acs/connect/token'
header = {'authorization': ‘Basic bWlzMTpzZWNyZXQ=’, ‘Content-type’: ‘application/x-www-form-urlencoded’}

req_text = \
“”“
<?xml version=”1.0“ encoding=”UTF-8“?>
<xacml-samlp:XACMLAuthzDecisionQuery
xmlns:saml2p=”urnasis:names:tc:SAML:2.0:protocol“
xmlns:saml2=”urnasis:names:tc:SAML:2.0:assertion“
ID=”_fc31b400-e529-4ac0-a616-10f1e17c5b8b“
Version=”2.0“
IssueInstant=”2017-04-19T15:54:55.1061156Z“
xmlns:xacml-samlp=”urnasis:names:tc:xacml:3.0:profile:saml2.0:v2:schema:protocol:wd-14“
xmlns:xacml-context=”urnasis:names:tc:xacml:3.0:core:schema:wd-17"
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='
urnasis:names:tc:xacml:3.0:profile:saml2.0:v2:schema:protocol:wd-14
http://login-test.zdrav.netrika.ru:8090/xacml-3.0-profile-saml2.0-v2-schema-protocol-wd-14.xsd
n3-healthcare-2018-06-21.xsd'>
<xacml-context:Request
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns='urnasis:names:tc:xacml:3.0:core:schema:wd-17'
xmlns:n3=“urn:netrika.ru:healthcare:n3:2018-06-21”
xsi:schemaLocation='urnasis:names:tc:xacml:3.0:core:schema:wd-17
http://docs.oasis-open.org/xacml/3.0/xacml-core-v3-schema-wd-17.xsd
n3-healthcare-2018-06-21.xsd'
ReturnPolicyIdList=“false”
CombinedDecision=“false”>
<xacml-context:Attributes
Category=“urnasis:names:tc:xacml:1.0:subject-category:access-subject”>
<xacml-context:Content>
<n3:Identifier тип=“медицинский работник” >
<n3:System oid=“urnid:1.2.643.2.69.1.1.1.84”>
<n3:СНИЛС номер=“14433057333” />
<n3:ФИО фамилия=“Абдурахманова” имя=“Анна” отчество=“Кареновна” />
</n3:System>
</n3:Identifier>
</xacml-context:Content>
</xacml-context:Attributes>
<xacml-context:Attributes
Category=“urnasis:names:tc:xacml:1.0:subject-category:recipient-subject”>
</xacml-context:Attributes>
<xacml-context:Attributes
Category=“urnasis:names:tc:xacml:1.0:subject-category:intermediary-subject”>
<xacml-context:Content>
<n3:Identifier тип=“медицинская организация”>
<n3:System oid=“urnid:1.2.643.2.69.1.1.1.64”>
<n3:Организация guid=“bf9c247f-810c-41c9-9d9f-a2a2e1d3ec86” />
</n3:System>
</n3:Identifier>
</xacml-context:Content>
</xacml-context:Attributes>
<xacml-context:Attributes
Category=“urnasis:names:tc:xacml:1.0:subject-category:codebase”>
<xacml-context:Content>
<n3:Identifier тип=“медицинская информационная система”>
<n3:System oid=“urnid:1.2.643.2.69.1.2”>
<n3:ИнформационнаяСистема oid=“urnid:1.2.643.2.69.1.2.1” />
</n3:System>
</n3:Identifier>
</xacml-context:Content>
</xacml-context:Attributes>
<xacml-context:Attributes
Category=“urnasis:names:tc:xacml:1.0:subject-category:requesting-machine”>
</xacml-context:Attributes>
<xacml-context:Attributes
Category=“urnasis:names:tc:xacml:3.0:attribute-category:resource”>
<xacml-context:Content>
<n3:Identifier тип=“пациент”>
<n3:System oid=“urnid:1.2.643.2.69.1.1.4”>
<n3:IdGlobal value=“4815f860-acfd-48a9-b395-dc7fabc2294c” />
</n3:System>
</n3:Identifier>
</xacml-context:Content>
</xacml-context:Attributes>
<xacml-context:Attributes
Category=“urnasis:names:tc:xacml:3.0:attribute-category:action”>
<xacml-context:Content>
<n3:Identifier тип=“действие”>
<n3:System oid=“urnid:1.2.643.2.69.1.1.4”>
<n3:Метод имя=“читать” />
</n3:System>
</n3:Identifier>
</xacml-context:Content>
</xacml-context:Attributes>
<xacml-context:Attributes
Category=“urnasis:names:tc:xacml:3.0:attribute-category:environment”>
</xacml-context:Attributes>
</xacml-context:Request>
</xacml-samlp:XACMLAuthzDecisionQuery>

“”"

b64Val = base64.b64encode(req_text)

req_template = ‘grant_type=urn:ietf:paramsauth:client-assertion-type:saml2-bearer&assertion={}&scope=iemk_portal+openid’

r = requests.post(URL, headers=header, data=req_template.format(b64Val))
print r.request.body
print r.status_code, r.text
пытаюсь кодировать в urlencode base64
но не получается, подскажите пожалуйста что не так?

Офлайн

#2 Авг. 1, 2018 20:40:33

oleg_gubin
Зарегистрирован: 2018-08-01
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Кодирование запроса в urlencode

запрос действующий

Офлайн

#3 Авг. 2, 2018 00:23:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

Кодирование запроса в urlencode

Оберни код в теги. Смайлики не видишь что ли? Это ты не обернул код в теги, форум это воспринимает как простой текст и начинает смайлики искать.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version