python的奇怪问题请求。获取方法

2024-04-25 22:57:49 发布

您现在位置:Python中文网/ 问答频道 /正文

哦,兄弟!,过去的两个小时里,我一直在为这个发愁。最后我决定把这个交给stackoverflow的强大势力。哦,Python战士们,请帮帮我

这样做有效:

requests.get('https://abc.123.xyz.xom/getmethisurl',
             auth=('PasswordIsAuthToken', 'khcdhk-dcbdmsb-dcbdsm-aBSDCXKN'),
             verify=False)

但事实并非如此,每次都要拿到401:

你知道吗defconn.py公司

import json
import requests
from requests.auth import HTTPBasicAuth


class connect(object):

    def __init__(self, url, user, token):
        self.url=url
        self.user=user
        self.token=token

    def uget(self, uri):
        self.url = self.url + uri

        ## EDIT 1 : Code added to print out the parameters values and type for debugging
        print ("IN:", repr(self.url), repr(self.user), repr(self.token))
        print(self.url, type(self.url))
        print(self.user, type(self.user))
        print(self.token, type(self.token))

        res=requests.get(self.url, auth=(self.user, self.token), verify=False)
        if res.status_code == 401:
           print ("ERORR 401 !!!!")
        else:
           return res

你知道吗应用程序类型(这是主脚本)

import defconn
from connexion.resolver import RestyResolver

props = dict(line.strip().split('=') for line in open('env.properties'))

url=props['connect.url']
user=props['connect.username']
token=props['connect.token']

oj=defconn.connect(url,user,token)
oj.uget('/getmethisurl')

这是我的环境属性地址:

你知道吗环境属性

connect.url=https://abc.123.xyz.xom
connect.username=PasswordIsAuthToken
connect.token=khcdhk-dcbdmsb-dcbdsm-aBSDCXKN

输出

output

非常感谢您的帮助。你知道吗

编辑1:添加诊断代码及其输出屏幕截图

谢谢-A


Tags: importselftokenauthurlgettypeconnect
1条回答
网友
1楼 · 发布于 2024-04-25 22:57:49

可能的原因是沿途的某个地方参数与简单的硬代码示例不匹配。尝试添加诊断行,以便隔离问题:

class connect(object):

    def __init__(self, url, user, token):
        self.url=url
        self.user=user
        self.token=token

    def uget(self, uri):
        self.url = self.url + uri
        print(repr(self.url), repr(self.user), repr(self.token)) # <== DIAGNOSTIC
        res=requests.get(self.url, auth=(self.user, self.token), verify=False)
        if res.status_code == 401:
           print ("ERORR 401 !!!!")
        else:
           return res

正如评论中所指出的,self.url = self.url + uri可能不是您想要的。相反,只需更新一个局部变量。你知道吗

相关问题 更多 >