本站消息

站长简介/公众号


站长简介:逗比程序员,理工宅男,前每日优鲜python全栈开发工程师,利用周末时间开发出本站,欢迎关注我的微信公众号:幽默盒子,一个专注于搞笑,分享快乐的公众号

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

无法使用 python 请求通过用户名和密码在 GitLab 中进行身份验证

发布于2021-07-21 06:48     阅读(1007)     评论(0)     点赞(14)     收藏(3)



我使用以下提供的 python 代码作为 python-gitlab 库中用户名和密码的替代使用,该库充当 GitLab REST API 的包装器以登录 GitLab:

import re
import sys

import requests

import gitlab


URL = 'https://gitlab.com'
SIGN_IN_URL = 'https://gitlab.com/users/sign_in'
LOGIN_URL = 'https://gitlab.com/users/sign_in'

session = requests.Session()
sign_in_page = session.get(SIGN_IN_URL).content
# Next line in the code causes the error described below!
for l in sign_in_page.split('\n'):
    m = re.search('name="authenticity_token" value="([^"]+)"', l)
    if m:
        break

token = None
if m:
    token = m.group(1)

if not token:
    print('Unable to find the authenticity token')
    sys.exit(1)

data = {'user[login]': 'login_or_email',
        'user[password]': 'SECRET',
        'authenticity_token': token}
r = session.post(LOGIN_URL, data=data)
if r.status_code != 200:
    print('Failed to log in')
    sys.exit(1)

gl = gitlab.Gitlab(URL, api_version=4, session=session)

我在第 16 行收到以下错误代码:

Traceback (most recent call last):
  File "C:/Users/saurav/AppData/Local/Programs/Python/Python38-32/gitlab_auth_code.py", line 16, in <module>
    for l in sign_in_page.split('\n'):
TypeError: a bytes-like object is required, not 'str'

'\n'下一行字符的使用似乎存在一些问题我该如何修正这个错误?这段代码实际上是在官方的 python-gitlab 文档中提供的,作为使用 python 请求的解决方法,我相信它应该可以工作:https ://gist.github.com/gpocentek/bd4c3fbf8a6ce226ebddc4aad6b46c0a

任何帮助将非常感激!


解决方案


暂无回答






所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1002913/1a10da93ee0a7bc77630/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0
收藏该文
已收藏

评论内容:(最多支持255个字符)