登录账户传参问题
def Login(zhanghao,mima):headers = {
'authorization': 'account-no=zhanghao,login-password=mima',
'accept': 'application/json',
'accept-language': 'zh_CN',
'Connection': 'Keep-Alive',
'Accept-Encoding': 'gzip',
'User-Agent': 'okhttp/3.12.1'
}
res = requests.get()
上面这个小例子,我定义这个函数设置了俩参数,在headers里头用到这俩参数,但是我在发现字典形式的这个参数不能用,有哪些方法可以解决,求大佬们指点一下
你是指 get 里面的参数吧 ? 不能直接传入,要这样写:
res = requests.get(url,headers=headers) Twilight6 发表于 2020-7-7 17:27
你是指 get 里面的参数吧 ? 不能直接传入,要这样写:
不是我指的是headers里头第一个account-no后面那个 czh1303541051 发表于 2020-7-7 17:29
不是我指的是headers里头第一个account-no后面那个
好的吧,那我也不太清楚 你不提供 url,谁知道你说的那个网站,只有清楚。
认证方式包括 Basic,Bearer,有的是 oauth,有的是 jwt,完全看 服务端开发者的心情。
据我了解,会在 http head 中使用 account password 的认证只有 basic 认证。
以上都是屁话,可以忽略。你用浏览器访问一下,使用开发者模式的 network 看看人家浏览器是怎么做的。
赚小钱 发表于 2020-7-7 18:54
你不提供 url,谁知道你说的那个网站,只有清楚。
认证方式包括 Basic,Bearer,有的是 oauth,有的是 j ...
这跟我提不提供url没关系,已经解决了,是我描述不清楚吧 本帖最后由 赚小钱 于 2020-7-7 19:57 编辑
czh1303541051 发表于 2020-7-7 19:33
这跟我提不提供url没关系,已经解决了,是我描述不清楚吧
怎么可能没关系
一般网站的登录方式是用 HTTP POST 方法,将 account password 等信息,json序列化放到 http body 中
有一些网站,比如路由器的 tplink 等 的登录使用的是 basic 认证,将account password 信息放到 http header 中
而且, basic 认证也不是直接把认证信息放到 header 中,需要经过 base64 编码 本帖最后由 Stubborn 于 2020-7-8 05:10 编辑
def Login(zhanghao,mima):
headers = {
'authorization': 'account-no=zhanghao,login-password=mima',
'accept': 'application/json',
'accept-language': 'zh_CN',
'Connection': 'Keep-Alive',
'Accept-Encoding': 'gzip',
‘PASSWORD’: mima,
‘Authorization’: ‘??Base64编码’
'User-Agent': 'okhttp/3.12.1'
}
# Ps我在这里说一句,没有什么爬虫,账号密码是放请求头里面的。一般涉及到登录请求,全部是post,表单提交,就算是get,也是凭借在url里面的
# 当然排除楼上说的 basic 认证情况。
res = requests.get(url, headers=heardes) 漏主意思是指
'authorization': f'account-no={zhanghao},login-password={mima}'
吗? 赚小钱 发表于 2020-7-7 19:56
怎么可能没关系
一般网站的登录方式是用 HTTP POST 方法,将 account password 等信息,json序列化放 ...
我描述不清楚,最后用字符串拼接弄好了
页:
[1]