• requests(第三方模块) 请求、登录、下载网页


    import requests  #http://docs.python-requests.org/en/latest/api/ 说明文档

    '''

    requests.request(method,url,**kwargs)

    requests.head(url,**kwargs)

    requests.get(url,params=None,**kwargs)

    requests.post(url,data=None,json=None,**kwargs)

    requests.put(url,data=None,**kwargs)

    requests.patch(url,data=None,**kwargs)

    requests.delete(url,**kwargs)

    上述7种方法返回的都是(Requests.)Response对象 

    method~请求对象的方法,猜测可选值是head,get,post,put,patch,delete

    url~请求对象的URL

    以下的可选参数都可通过**kwargs字典参数传入

    params~ Dictionary or bytes to be sent in the query(疑问) string for the Request 

    data~ 需要传入request中的(字典类型,元组构成的列表类型[(key,value)](will be form encoded),二进制类型或file-like类型的)对象

    json~ 需要被传入request的json类型数据

    header~随request传入的字典类型的HTTP Headers 数据

    files~ 字典类型的数据形如{'name':file-like-objects}或{'name':file-tuple}进行各种编码形式的上传。file-tuple可以是一个两、三、四元素的元组

    ('filename',fileobj,'content_type',custom_headers),'content-type'是str类型的描述文本的格式的字符串。

    custom_headers是一个字典类型的参数,包含一些需要被添加到文件上的额外的标题信息

    auth~认证元组 to enable Basic/Digest/Custom HTTP Auth 

    timeout~(入参为浮点类型或元组类型),浮点类型的话表示多少秒后放弃等待接收服务器发送的数据,2元素的元组格式为(connect timeout,read timeout)

    allow_redirects~(布尔类型入参)是否允许 重定向,默认为True (GET/OPTIONS/POST/PUT/PATCH/DELETE/HEAD)redirection 

    proxies~ 字典类型的URL代理映射协议 Dictionary mapping proctocol to the URL of the proxy

    verify~ 布尔型数据,表示我们是否核实了服务器的TLS证书,或者字符串型数据,表示可链接到CA bundle的路径。默认值是True

    stream~ 如果设置为False,response content 就会立即被下载

    cert~  如果是字符串就就是通往ssl client 某个文件的路径(.pem) 元组类型的话形如('cert','key')

    '''

    #Requests  Exceptions 

    '''

    requests.RequestException(*args,**kwargs)  包含大量的错误类型There was an ambiguous exception that occurred while handling your request.

    requests.ConnectionError(*args,**kwargs)  连接类型的错误 A Connection error occurred

    requests.HTTPError(*args,**kwargs) HTTP错误 An HTTP error occurred 

    requests.URLRequired(*args,**kwargs) 无效的URL地址 A valid URL is required to make a request 

    requests.TooManyRedirects(*args,**kwargs)  重定向太多次了 TOO many redirects 

    requests.ConnectTimeout(*args,**kwargs) 连接超时 Requests that produced this error are safe to retry 

    requests.ReadTimeout(*args,**kwargs) 服务器没有返回任何数据,在给定的时间里

    requests.Timeout(*args,**kwargs)   请求超时,捕获该错误类型,ConnectTimeout和ReadTimeout类型的错误都会被捕获。

    '''

    #requests.Session类

    #Cookie :当访问某个站点时,随某个HTML网页发送到你的浏览器中的一小段信息;网络跟踪器(记录上网用户信息的软件)

    #session提供了持续的cookie(记录,用户追踪?),连接池(不懂什么意思),和配置信息

    import requests 

    s=requests.Session()

    s.get('http://httpbin.org/get')

    #也可写成

    with requests.Session() as s :

        s.get('http://httpbin.org/get')

    '''

    auth=None  Default Authentication tuple or object to attach to Request.

    cert=None  SSL client certificate default, if String, path to ssl client cert file (.pem). If Tuple, ('cert', 'key') pair.

    close()  Closes all adapters(适配器?) and as such the session

    cookies=None 包含session里设置的所有未完成的cookie。装cookie的容器。By default it is a RequestsCookieJar, but may be any other cookielib.CookieJar compatible object.

    下面的方法同requests的方法,返回的都是requests.Response对象 

    {delete(url,**kwargs)

    get(url,**kwargs)

    head(url,**kwargs)

    options(url,**kwargs)

    post(url,data=None,json=None,**kwargs)

    put(url,data=None,**kwargs)

    request(method, url, params=None, data=None, headers=None, cookies=None, files=None, auth=None, timeout=None, allow_redirects=True, 

    proxies=None, hooks=None, stream=None, verify=None, cert=None, json=None)比requests.request()多一个参数cookies

    cookies ~ Dict or CookieJar Object to send with Request 

    }

    send(request,**kwargs)  传递给一个准备好的request对象,返回类型requests.Response 

    stream=None  Stream response content default.

    trust_env=None 为代理配置信息标记的受信任设置,默认是认证的和熟悉的default authentication and similar

    verify=None   默认SSL认证 SSL(Security Socket Layer 加密套接字协议层)

  • 相关阅读:
    可实现B站 蒙版弹幕 效果的前端组件 —— Barrage UI
    C# 中的"yield"使用
    不遮挡人物弹幕是怎么实现的——图片蒙版效果-webkit-mask
    使用eslint检查代码质量
    vue 项目中assets 和static的区别
    快速生成html文本文档——typora
    VsCode中好用的git源代码管理插件GitLens
    C# 根据前台校验的值,决定是否执行后台方法
    C# 从字符串中取出英文字母
    C# 科学计数法转换成数字
  • 原文地址:https://www.cnblogs.com/Ting-light/p/9548162.html
Copyright © 2020-2023  润新知