Requests - Русские символы в Username веб-сервиса - Python

Узнай цену своей работы

Формулировка задачи:

Добрый день! Прошу не судить строго, но столкнулся со следующей проблемой: есть веб-сервис, к которому нужно отправить soap-запрос, вся проблема в том, что username для авторизации в сервисе на русском языке, это приводит к получению
Листинг программы
  1. b64encode(('%s:%s' % (username, password)).encode('latin1')).strip()
  2. UnicodeEncodeError: 'latin-1' codec can't encode characters in position 6-15: ordinal not in range(256)
Используется модуль requests

Решение задачи: «Requests - Русские символы в Username веб-сервиса»

textual
Листинг программы
  1. Traceback (most recent call last):
  2.   File "c:\Python34\ASUER\Scripts\soap.py", line 35, in <module>
  3.     auth=("Test@пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ","12345"))
  4.   File "C:\Python34\lib\site-packages\requests-2.7.0-py3.4.egg\requests\api.py", line 109, in post
  5.     return request('post', url, data=data, json=json, **kwargs)
  6.   File "C:\Python34\lib\site-packages\requests-2.7.0-py3.4.egg\requests\api.py", line 50, in request
  7.     response = session.request(method=method, url=url, **kwargs)
  8.   File "C:\Python34\lib\site-packages\requests-2.7.0-py3.4.egg\requests\sessions.py", line 451, in request
  9.     prep = self.prepare_request(req)
  10.   File "C:\Python34\lib\site-packages\requests-2.7.0-py3.4.egg\requests\sessions.py", line 382, in prepare_request
  11.     hooks=merge_hooks(request.hooks, self.hooks),
  12.   File "C:\Python34\lib\site-packages\requests-2.7.0-py3.4.egg\requests\models.py", line 308, in prepare
  13.     self.prepare_auth(auth, url)
  14.   File "C:\Python34\lib\site-packages\requests-2.7.0-py3.4.egg\requests\models.py", line 496, in prepare_auth
  15.     r = auth(self)
  16.   File "C:\Python34\lib\site-packages\requests-2.7.0-py3.4.egg\requests\auth.py", line 50, in __call__
  17.     r.headers['Authorization'] = _basic_auth_str(self.username, self.password)
  18.   File "C:\Python34\lib\site-packages\requests-2.7.0-py3.4.egg\requests\auth.py", line 30, in _basic_auth_str
  19.     b64encode(('%s:%s' % (username, password)).encode('latin1')).strip()
  20. UnicodeEncodeError: 'latin-1' codec can't encode characters in position 6-15: ordinal not in range(256)
  21. Exited with status 1

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут