Форум сайта python.su
0
Здравствуйте. Необходимо связать базу 1С и сайт на python. В 1С создал http сервис. Он работает, в браузере могу зайти по адресу, появляется информация в json формате, всё норм. Но вот из python ни как не могу подключиться к этому сервису, выдаётся ошибка 401. http сервис развернул на веб сервере IIS 10. Вот код:
from urllib import request
from requests.auth import HTTPBasicAuth
import requests
myUrl = 'http://localhost/Uchet_Chasov/hs/DataExchange'
res = requests.get(myUrl, headers= {'Authorization': ‘Basic’}, auth=HTTPBasicAuth('логин', ‘пароль’))
Какие бы логин с паролем я не передавал (и от ОС windows, и пользователь 1С) всё равно в res ошибка 401. Уже два дня бьюсь, ни чего не помогает. Если кто сталкивался, подскажите как быть. Спасибо.
Офлайн
14
Похоже что проблема на стороне сервера, возможно юзеру, логин и пароль которого вы используете, вы забыли разрешить доступ через вебморду, логин и ипароль винды тут точно не помогут. С 1с я не знаком от слова совсем, но что за хидер headers= {'Authorization': ‘Basic’}? И если в настройках 1с есть возможность иной авторизации можете попробовать ее. Как-бы там ни-было вас “отшивает” именно сервер, проблема тут не в питоне.
Офлайн
0
Ну что ж, и на том спасибо
Офлайн
14
Я дико извиняюсь, невнимательно прочел, если в браузере заходит то я не прав, и тогда дело может быть в кодировке, например сервак ожидает cp1251 а вы ему utf8 отправляете, в этом случае поможет модуль encodings, почтиайте доку на ваш серв, думаю там сказано какую кодировку он ожидает.
еще можно добавить хидер charset=“UTF-8” , например так :
myUrl = 'http://localhost/Uchet_Chasov/hs/DataExchange' res = requests.get(myUrl, headers= {'Authorization': ‘Basic’, 'charset':'UTF-8'}, auth=HTTPBasicAuth('логин', ‘пароль’))
Отредактировано @cckyi_boxxx (Апрель 23, 2020 01:07:10)
Офлайн
-1
Не совсем понятно , как оно там работает . Но судя по вашему сообщению .скоро разберусь )
Офлайн
14
Jony1990работает оно вот так :
Не совсем понятно , как оно там работает . Но судя по вашему сообщению .скоро разберусь )
Офлайн