DrissionPage/docs/使用方法/启动配置/Session启动配置.md
2022-01-15 01:00:48 +08:00

156 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SessionOptions 对象用于管理 Session 对象连接配置。
其使用逻辑与 DriverOptions 相似。
**注意:** SessionOptions 仅用于管理启动配置,程序启动后再修改无效。
# SessionOptions 类
SessionOptions 对象创建时默认读取默认 ini 文件配置信息,也可手动设置所需信息。
该类的方法支持链式操作。
初始化参数:
- read_file是否从默认 ini 文件中读取配置信息
- ini_pathini 文件路径,为 None 则读取默认 ini 文件
## headers
该属性返回 headers 设置信息,可传入字典赋值。
## set_headers()
该方法与 headers 参数赋值功能一致。
参数:
- headersheaders 字典
返回:当前对象
## set_a_header()
该方法用于设置 headers 中的一个项。
参数:
- attr设置项名称
- value设置值
返回:当前对象
```python
so = SessionOptions()
so.set_a_header('accept', 'text/html')
so.set_a_header('Accept-Charset', 'GB2312')
print(so.headers)
```
输出:
```
{'accept': 'text/html', 'accept-charset': 'GB2312'}
```
## remove_a_header()
此方法用于从 headers 中移除一个设置项。
参数:
- attr要删除的设置名称
返回:当前对象
## cookies
此属性返回 cookies 设置信息,可赋值。
可接收 dict、list、tuple、str、RequestsCookieJar 等格式的信息。
## proxies
此属性返回代理信息,可赋值。可传入字典类型。
格式:{'http': 'http://xx.xx.xx.xx:xxxx', 'https': 'http://xx.xx.xx.xx:xxxx'}
## set_proxies()
此方法与 proxies 属性赋值功能一致。
参数:
- dict 格式的代理参数
返回:当前对象
## auth
此属性用于返回和设置 auth 参数,接收 tuple 类型参数。
## hooks
此属性用于返回和设置 hooks 参数,接收 dict 类型参数。
## params
此属性用于返回和设置 params 参数,接收 dict 类型参数。
## verify
此属性用于返回和设置 verify 参数,接收 bool 类型参数。
## cert
此属性用于返回和设置 cert 参数,接收 str 或 tuple 类型参数。
## adapters
此属性用于返回和设置 adapters 参数。
## stream
此属性用于返回和设置 stream 参数,接收 bool 类型参数。
## trust_env
此属性用于返回和设置 trust_env 参数,接收 bool 类型参数。
## max_redirects
此属性用于返回和设置 max_redirects 参数,接收 int 类型参数。
## save()
此方法用于保存当前配置对象的信息到配置文件。
参数:
- path配置文件的路径传入 None 保存到当前读取的配置文件,传入 'default' 保存到默认 ini 文件
返回:配置文件绝对路径
## as_dict()
该方法以 dict 方式返回所有配置信息。
参数:无
返回:配置信息
# 简单示例
```python
from DrissionPage.config import SessionOptions
from DrissionPage import MixPage
# 创建配置对象(默认从 ini 文件中读取配置)
so = SessionOptions()
# 设置 cookies
so.cookies = ['key1=val1; domain=xxxx', 'key2=val2; domain=xxxx']
# 设置 headers 一个参数
so.set_a_header('Connection', 'keep-alive')
# 以该配置创建页面对象
page = MixPage(mode='s', session_options=so)
```