Python 使用httpx验证问题

Python 使用httpx验证问题,python,python-requests,httpx,Python,Python Requests,Httpx,有效答复: import requests with requests.Session() as req: req.auth = authdata req.headers.update({ 'x-amz-access-token': access }) r = req.get( 'https://sellingpartnerapi-na.amazon.com/orders/v0/orders/', params=params)

有效答复:

import requests
with requests.Session() as req:
    req.auth = authdata
    req.headers.update({
        'x-amz-access-token': access
    })

    r = req.get(
        'https://sellingpartnerapi-na.amazon.com/orders/v0/orders/', params=params)
    print(r)
但是使用
httpx
我得到:

import httpx
async with httpx.AsyncClient(timeout=None) as client:
    client.auth = authdata
    client.headers.update({
        'x-amz-access-token': access
    })
    r = await client.get('https://sellingpartnerapi-na.amazon.com/orders/v0/orders/', params=params)
    print(r)
完全回溯:

Traceback (most recent call last):
  File "c:\Users\AmericaN\Desktop\Lab\code.py", line 60, in <module>
    trio.run(main)
  File "C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site-packages\trio\_core\_run.py", line 1932, in run
    raise runner.main_task_outcome.error
  File "c:\Users\AmericaN\Desktop\Lab\code.py", line 56, in main
    await get_orders(authdata, await get_token())
  File "c:\Users\AmericaN\Desktop\Lab\code.py", line 49, in get_orders
    r = await client.get('https://sellingpartnerapi-na.amazon.com/orders/v0/orders/', params=params)
  File "C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site-packages\httpx\_client.py", line 1539, in get
    return await self.request(
  File "C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site-packages\httpx\_client.py", line 1361, in request
    response = await self.send(
  File "C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site-packages\httpx\_client.py", line 1396, in send
    response = await self._send_handling_auth(
  File "C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site-packages\httpx\_client.py", line 1428, in _send_handling_auth       
    request = await auth_flow.__anext__()
  File "C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site-packages\httpx\_auth.py", line 92, in async_auth_flow
    request = next(flow)
  File "C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site-packages\httpx\_auth.py", line 115, in auth_flow
    yield self._func(request)
  File "C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site-packages\requests_auth_aws_sigv4\__init__.py", line 109, in __call__
    p = urlparse(r.url)
  File "C:\Program Files\Python39\lib\urllib\parse.py", line 389, in urlparse
    url, scheme, _coerce_result = _coerce_args(url, scheme)
  File "C:\Program Files\Python39\lib\urllib\parse.py", line 125, in _coerce_args
    return _decode_args(args) + (_encode_result,)
  File "C:\Program Files\Python39\lib\urllib\parse.py", line 109, in _decode_args
    return tuple(x.decode(encoding, errors) if x else '' for x in args)
  File "C:\Program Files\Python39\lib\urllib\parse.py", line 109, in <genexpr>
    return tuple(x.decode(encoding, errors) if x else '' for x in args)
AttributeError: 'URL' object has no attribute 'decode'
回溯(最近一次呼叫最后一次):
文件“c:\Users\AmericaN\Desktop\Lab\code.py”,第60行,在
三人行(主)
文件“C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site packages\trio\\u core\\u run.py”,第1932行,运行中
raise runner.main_任务_结果.error
文件“c:\Users\AmericaN\Desktop\Lab\code.py”,第56行,主目录
等待获取命令(authdata,等待获取令牌())
文件“c:\Users\AmericaN\Desktop\Lab\code.py”,第49行,在get\U订单中
r=等待客户机。获取('https://sellingpartnerapi-na.amazon.com/orders/v0/orders/,params=params)
get中的文件“C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site packages\httpx\\ u client.py”,第1539行
返回等待自我请求(
文件“C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site packages\httpx\\u client.py”,第1361行,在请求中
response=等待self.send(
文件“C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site packages\httpx\\ u client.py”,第1396行,在send中
响应=等待自我。\u发送\u处理\u验证(
文件“C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site packages\httpx\\ u client.py”,第1428行,在发送处理验证中
请求=等待验证流
文件“C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site packages\httpx\\ u auth.py”,第92行,在异步身份验证流中
请求=下一个(流)
文件“C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site packages\httpx\\u auth.py”,第115行,在auth\u流中
让渡自付(请求)
文件“C:\Users\AmericaN\Desktop\Lab\MyEnv\lib\site packages\requests\u auth\u aws\u sigv4\uuuu init\uuuu.py”,第109行,在调用中__
p=urlparse(r.url)
文件“C:\Program Files\Python39\lib\urllib\parse.py”,第389行,在urlparse中
url,scheme,_-concure_-result=_-concure_-args(url,scheme)
文件“C:\Program Files\Python39\lib\urllib\parse.py”,第125行,在强制参数中
返回_decode_args(args)+(_encode_result,)
文件“C:\Program Files\Python39\lib\urllib\parse.py”,第109行,在解码参数中
返回元组(如果参数中的x为x,则x.decode(编码,错误)为x,否则为“”)
文件“C:\Program Files\Python39\lib\urllib\parse.py”,第109行,在
返回元组(如果参数中的x为x,则x.decode(编码,错误)为x,否则为“”)
AttributeError:“URL”对象没有属性“decode”

使用以下方法解决: