Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用用户名和密码的特定变量发送请求后身份验证?_Python_Python 2.7 - Fatal编程技术网

Python 如何使用用户名和密码的特定变量发送请求后身份验证?

Python 如何使用用户名和密码的特定变量发送请求后身份验证?,python,python-2.7,Python,Python 2.7,我正在尝试使用auth和companyId和accountPassword变量发送请求后身份验证,但如果我使用auth方式,则无法进行身份验证 下面的工作,但我不能使用URL中的用户名和密码作为其创建的用户名和密码存储在日志中的安全问题 url = AUTH_URI + '/' + dyn_url + "?appIdKey=" + str.encode(APP_ID_KEY) + "&companyId=" + self._user + "

我正在尝试使用
auth
companyId
accountPassword
变量发送请求后身份验证,但如果我使用
auth
方式,则无法进行身份验证

下面的工作,但我不能使用URL中的用户名和密码作为其创建的用户名和密码存储在日志中的安全问题

url = AUTH_URI + '/' + dyn_url + "?appIdKey=" + str.encode(APP_ID_KEY) + "&companyId=" + self._user + "&accountPassword=" + self._pswd
                r2 = requests.post(url,timeout=DEFAULT_REQUESTS_TIMEOUT,headers={'Content-Type': 'application/json;charset=UTF-8'},allow_redirects=False)
将其更改为使用auth变量无法进行身份验证,有关如何修复此问题的任何指导

            url = AUTH_URI + '/' + dyn_url + "?appIdKey=" + str.encode(APP_ID_KEY)
            r2 = requests.post(url,timeout=DEFAULT_REQUESTS_TIMEOUT,headers={'Content-Type': 'application/json;charset=UTF-8'},auth=('companyId=self._user','accountPassword=self._pswd'),allow_redirects=False)
我得到了以下错误,不知何故,
'companyId=self.\u user','accountPassword=self.\u pswd'
没有生效

错误:-

Please enter the username and password

您正在发送字符串literal
'self.\u user'
作为用户名。如果正在运行Python 3.6或更高版本,请尝试使用:

r2 = requests.post(url,
    timeout=DEFAULT_REQUESTS_TIMEOUT,
    headers={'Content-Type': 'application/json;charset=UTF-8'},
    auth=(f'companyId={self._user}',
          f'accountPassword={self._pswd}'),
    allow_redirects=False)
编辑:对于Python 2.7,它将是:

r2 = requests.post(url,
    timeout=DEFAULT_REQUESTS_TIMEOUT,
    headers={'Content-Type': 'application/json;charset=UTF-8'},
    auth=('companyId={}'.format(self._user),
          'accountPassword={}'.format(self._pswd)),
    allow_redirects=False)

我仍然收到
请输入您的公司ID和密码
,我正在用python 2.7执行此操作,只是将
f
替换为
r
请正确标记您的问题,特别是如果您使用的是使用寿命已结束的python版本。对于Python2,这将是
'companyId={}.format(self.\u user)
r”“
完全不相关。实际上,将其解析为
r1=requests.post(url1,timeout=1000,allow_redirects=False,data={'companyId':username,'accountPassword':password})
,这将为您形成编码数据并将其用作post正文OK,太好了。我假设您正在尝试使用HTTP基本身份验证。