• requests模块demo


    import urllib.request
    import requests
    from requests.auth import HTTPBasicAuth
    from requests.auth import HTTPDigestAuth
    import json
    
    base_url = 'http://httpbin.org'
    
    # 发送get请求
    r = requests.get(base_url+'/get')
    print(r.status_code)
    
    #发送post请求
    r = requests.post(base_url+'/post')
    print(r.status_code)
    
    #发送put请求
    r = requests.put(base_url+'/put')
    print(r.status_code)
    
    #发送delete请求
    r = requests.delete(base_url+'/delete')
    print(r.status_code)
    
    # 发送get请求 传递url参数
    param_data={'user':'zxw123','password':'666'}
    r = requests.get(base_url+'/get',params=param_data)
    print(r.url)
    print(r.status_code)
    resonponse = urllib.request.urlopen("http://baidu.com")
    html= resonponse
    print(html)
    
    # post传递body参数
    from_data={'user':'zxw123','password':'8888'}
    r = requests.post(base_url+'/post',data = from_data)
    print(r.status_code)
    print(r.text)
    
    # 请求头定制  将dict传递给header
    from_data={'user':'zxw123','password':'8888'}
    header={'user-agent': 'Mozilla/5.0'}
    r = requests.post(base_url+'/post',data = from_data,headers = header)
    print(r.status_code)
    print(r.text)
    
    # 响应内容
    from_data={'user':'zxw123','password':'8888'}
    header={'user-agent': 'Mozilla/5.0'}
    r = requests.post(base_url+'/post',data = from_data,headers = header)
    # 响应状态码
    print(r.status_code)
    # 响应内容
    print(r.text)
    # 响应内容以json格式
    print(r.json())
    # 响应头信息
    print(r.headers)
    
    # 设置cookie
    
    cookie={'uesr':'beijing'}
    r=requests.get(base_url+'/cookies',cookies = cookie)
    print(r.text)
    
    # 获取cookie
    # 请求百度首页,获取cookie
    r = requests.get('http://baidu.com')
    print(type(r.cookies))
    print(r.cookies)
    for key,value in r.cookies.items():
        print(key+':'+value)
    
    # 超时
    # 设定timeout超时之后停止响应,防止请求没有响应而一直处于等待状态
    cookie={'uesr':'beijing'}
    r=requests.get(base_url+'/cookies',cookies = cookie,timeout = 10)
    print(r.text)
    
    
    # 文件上传  参数files
    file={'file':open('zxw_logo.png','rb')}
    r = requests.post(base_url+'/post',files=file)
    print(r.text)
    
    # session(会话)
    # 接口之间经常有依赖关系,在没有session保存机制的情况下,第二个接口无法获取第一个接口的cookie值
    
    # 设置cookie
    r = requests.get(base_url+'/cookies/set/user/51zxw')
    print(r.text)
    
    # 获取cookie
    r = requests.get(base_url+'/cookies')
    print(r.text)
    
    # 加入session之后,可以模拟同一对话而不用担心cookies问题,通常用于模拟成功登陆之后进行下一步操作
    s = requests.Session()
    # 设置cookie
    r=s.get(base_url+'/cookies/set/user/51zxw')
    print(r.text)
    
    # 获取cookie
    r =s.get(base_url+'/cookies')
    print(r.text)
    
    # ssl验证默认开启,验证失败会抛出SSLError
    # r = requests.get('https://www.12306.cn')
    # 关闭ssl验证
    r=requests.get('https://www.12306.cn',verify=False)
    print(r.text)
    
    
    # 身份认证  BasicAuth
    r = requests.get(base_url+'/basic-auth/51zxw/8888',auth=HTTPBasicAuth('51zxw','8888'))
    print(r.text)
    
    # 身份认证  DigestAuth
    r = requests.get(base_url+'/digest-auth/auth/heiheiehi/23333',auth=HTTPDigestAuth('heiheihei','23333'))
    print(r.text)
    
    
    # # 代理设置
    proxies = {'http':'http://219.142.132.146:4065'}
    r = requests.get(base_url+'/get',proxies=proxies)
    print(r.text)
    
    # 流式请求, 接口返回多个结果
    
    r = requests.get(base_url+'/stream/10',stream = True)
    # 如果响应内容没有设置编码,则默认为utf-8
    if r.encoding is None:
        r.encoding='utf-8'
    # 对响应结果进行迭代处理
    for line in r.iter_lines(decode_unicode=True):
        if line:
            data=json.loads(line)
            print(data['id'])

     

  • 相关阅读:
    windows2003 系统定时关机
    利用批处理轻松压缩文件
    JavaScript中的常用算法和函数
    ASP.NET Session丢失问题原因及解决方案
    JavaScript文字自动排版
    js图片自动滚动并带翻页的功能
    IE下不显示自定义错误页面
    ArcObject 实现拓扑创建和检查
    ArcGIS Server 的默认设置
    ArcObject 要素删除
  • 原文地址:https://www.cnblogs.com/pipiyan/p/10728032.html
Copyright © 2020-2023  润新知