标签:存在 fir idt res 因此 ict 字符编码 nal 异常
格式:get(url, params=None, **kwargs)
import requests
url = ‘https://www.baidu.com/s‘
params = {
‘Wd‘:‘%E6%B5%8B%E8%AF%95‘,
‘prefixsug‘:‘ceshi‘,
}
header = {
‘User-Agent‘:‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36‘,
}
cookie = {
}
data = requests.get(url=url,headers=header,params=params,cookies=cookie)
print(data.content.decode(‘utf8‘))
assert data.json()[‘status‘]==False
格式:post(url,data,json,…)
import requests,json
url = ‘https://www.lagou.com/jobs/positionAjax.json‘
params = {
‘needAddtionalResult‘:‘false‘
}
header = {
‘User-Agent‘:‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36‘,
‘Content-Type‘:‘application/x-www-form-urlencoded; charset=UTF-8‘
}
body = {
‘first‘:‘true‘,
‘pn‘:‘1‘,
‘kd‘:‘软件测试工程师‘,
}
# requests 操作 # timeout超时时间2秒 verify 安全证书True要有安全证书,根据浏览器要求 indent 内容做序列化
value = requests.post(url=url,headers=header,params=params,data = body,timeout=2.00,verify=True,indent=True)
print(value.json())
data = value.json()
filename = ‘filename‘
x = json.dump(data,open(filename,‘w‘),ensure_ascii=False,indent=True)
y = json.load(open(filename,‘r‘))
print(y)
请求超时 Requests.get中的timeout参数
Verify属性设置为False,安全证书免验证。 req= requests.get(url, verify=False)
内容做序列化 indent=True
# requests 操作 # timeout超时时间2秒 verify 安全证书True要有安全证书,根据浏览器要求 indent 内容做序列化 value = requests.get(url=url,headers=header,params=params,data = body,timeout=2.00,verify=True,indent=True)
声明cookie容器对象:
向容器中传递生成cookies:
第一步
第二步
第三步
第四步
1.从响应中提取token值。
2.token值的使用方式。
import requests
key = requests.Session()
file = key.get(‘http://www.baidu.com‘)
print(file.cookies)
安装
pip3 install requests-html
导入
from requests_html import HTMLSession
Requests-html
使用
from requests_html import HTMLSession
req = HTMLSession()
params = {‘query‘:‘testing‘}
w=r.get("http://www.sogou.com/web",params=params)
1、基本身份认证
HTTP Basic Auth是HTTP1.0提出的认证方式
客户端对于每一个realm,通过提供用户名和密码来进行认证的方式
当认证失败时,服务器收到客户端请求,返回401 UNAUTHORIZED,同时在HTTP响应头的WWW-Authenticate域说明认证方式及认证域身份认证的类型
import requests from requests.auth import HTTPBasicAuth url = ‘192.613.001.002‘ # 通过auth输入用户名和用户密码,来通过系统的验证 r = requests.get(url=url,auth=HTTPBasicAuth(‘user‘,‘password‘)) print(r.content)
2、netrc 认证
如果认证方法没有收到 auth 参数,Requests 将试图从用户的 netrc 文件中获取 URL 的 hostname 需要的认证身份
3、摘要式身份认证
digest authentication:在HTTP 1.1提出,目的是替代http 1.0提出的基本认证方式
1、requests库的session对象能够帮我们跨请求保持某些参数,也会在同一个session实例发出的所有请求之间保持cookies。
2、requests库的session对象还能为我们提供请求方法的缺省数据,通过设置session对象的属性来实现。
import requests key = requests.Session() file = key.get(‘http://www.baidu.com‘) print(file.cookies)
标签:存在 fir idt res 因此 ict 字符编码 nal 异常
原文地址:https://www.cnblogs.com/070727sun/p/12735300.html