• Python第三方库Requests学习


    1.安装

    1 git clone git://github.com/kennethreitz/requests.git
    2 cd requests
    3 python setup.py install

    2.上点威力

    (GET)

    1 >>> import requests
    2 >>> url = 'http://dict.baidu.com/s'
    3 >>> payload = {'wd':'python'}
    4 >>> r = requests.get(url,params=payload)  //最基本带参数的get请求
    5 <Response [200]>
    6 >>> print(r.url)
    7 http://dict.baidu.com/s?wd=python
    8 >>> print(r.text)  //解码后的数据

    (POST)

    1 >>> import requests
    2 >>> import json
    3 >>> r = requests.post('https://api.github.com/some/endpoint', data=json.dumps({'some': 'data'}))
    4 >>> print (r.json())
    5 {u'documentation_url': u'https://developer.github.com/v3', u'message': u'Not Found'}

    定制Header

     1 >>> import requests
     2 >>> import json
     3 >>> data = {'some':'data'}
     4 >>> headers = {'content-type':'application/json','User-Agent':'Mozilla/5.0(x84_64;)Firefox/22.0'}
     5 >>> r = requests.post('https://api.github.com/some/endpoint',data=data,headers=headers)
     6 >>> print(r.text)
     7 {
     8   "message": "Not Found",
     9   "documentation_url": "https://developer.github.com/v3"
    10 }

    超时设置

    1 requests.get('http://github.com', timeout=0.001)
    2 
    3 ----------------------
    4 一堆异常,重点看后面
    5 ConnectTimeout: HTTPConnectionPool(host='github.com', port=80): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<requests.packages.urllib3.connection.HTTPConnection object at 0x01EAE6F0>, 'Connection to github.com timed out. (connect timeout=0.001)'))

    访问Cookie

    1 import requests
    2 r = requests.get('http://www.google.com.hk/')
    3 print(r.cookies['NID'])
    4 print(tuple(r.cookies))

    也可以往服务器发送Cookie

    1 import requests
    2 url = 'http://myserver.org/cookies'
    3 cookies = {'testCookies_1': 'Hello_Python3', 'testCookies_2': 'Hello_Requests'}
    4 # 在Cookie Version 0中规定空格、方括号、圆括号、等于号、逗号、双引号、斜杠、问号、@,冒号,分号等特殊符号都不能作为Cookie的内容。
    5 r = requests.get(url, cookies=cookies)
    6 print(r.json())
  • 相关阅读:
    二叉树逻辑结构重点
    循环链表
    数据结构 单链表
    《深入理解计算机系统》第7章:重定位PC相对引用的理解
    一个关于空指针的思考
    简单解决python安装中的Unable to find vcvarsall.bat问题
    解决python本地离线安装requests问题
    使用共享内存和信号量模拟实现多进程会话
    使用openssl演练数字签名
    简单了解C语言内嵌汇编
  • 原文地址:https://www.cnblogs.com/sxmcACM/p/4069871.html
Copyright © 2020-2023  润新知