Python - 请求库新手

Python - A Requests library newbie

这是我第一次 post 在这些论坛上,希望您能理解,我也是一名编程新手。 所以,我想在 Python 做我的第一个项目,使用请求库来做一些我非常热衷的事情。这是一个奥苏!地图下载器,您可以在其中通过命令行下载地图。首先,我正在学习请求库以访问网站(登录)。 到目前为止,这是我的代码:

import requests
import time

inUserName = input("Nickname: ")
inUserPass = input("Password: ")
req = requests.get("http://osu.ppy.sh/p/api")

from requests.auth import HTTPBasicAuth
requests.get("https://osu.ppy.sh/forum/ucp.php?mode=login", auth=HTTPBasicAuth(inUserName, inUserPass))

with requests.Session() as session:
       POSTrequest = session.post(url=req, data={'username': inUserName, 'password': inUserPass})

time.sleep(2)

我从中得到了响应 200,这很棒..但是几个月前我使用了类似的代码时我得到了一些 HTML 这也没有帮助,我知道我没有以任何方式连接。

错误是:

requests.exceptions.MissingSchema: Invalid URL '<Response [200]>': No schema supplied. Perhaps you meant http://<Response [200]>?

如果能帮助改进代码,我们将不胜感激,非常感谢,对于我犯的任何英语错误,我深表歉意,而不是第一语言。

所以你为你的一个帖子指定了 url 不正确。

import requests
import time

inUserName = input("Nickname: ")
inUserPass = input("Password: ")
osuApiUrl = "http://osu.ppy.sh/p/api"
session = requests.Session()
req = session.get(osuApiUrl)


session.get("https://osu.ppy.sh/forum/ucp.php?mode=login", auth=(inUserName, inUserPass))

POSTrequest = session.post(url=osuApiUrl, data={'username': inUserName, 'password': inUserPass})

if POSTrequests.status_code == 200:
    print(POSTrequests.text)
    print(r.status_code)
time.sleep(2)

此外,如果服务器设置了任何 cookie,您应该为整个脚本使用一个会话。通过使用函数 API,您正在为每个请求创建和丢弃一个会话。这样效率更高。