Python---http

import urllib.request as ur
import http.client as hc
import httplib2
import urllib.parse as up

def http1():
    print('==========http1================================')
    url='http://www.njzz.gov.cn/Pad/msglist.aspx'
    data = ur.urlopen(url).read()
    print(data)

def http2():
    print('===========http2===============================')
    url='http://www.12306.cn/mormhweb/'
    hc.HTTPConnection.debuglevel=1
    print('==========request==============================')
    response=ur.urlopen(url)
    '''
    it will print action when sending request
    '''
    print('============response==========================')
    print(response.headers.as_string())

def httplibtwo1():
    print('===================httplib2========================')
    url='http://www.12306.cn/mormhweb/'
    httplib2.debuglevel=1
    h = httplib2.Http('.cache')
    h.add_credentials('henry860916','595099760')
    print('=================request=========================')
    response, content=h.request(url,'GET',headers={'cache-control':'no-cache'})
    print('\n=================response=======================')
    print(response.items())
    print(response.status)
    print(response.fromcache)
    data={'age':'30','name':'jasca'}
    data2=up.urlencode(data)
    print(data2)
'''
1. httplib2 is most powerful
2. set headers= when request
3. 2nd parameter in request api: default method is GET, we can set DELETE/PUT/POST in request api
4. add_credentials, set username and password
5. urlencode, to encode data before sending
'''

if __name__ == '__main__':
    http1()
    http2()
    httplibtwo1()
相關文章
相關標籤/搜索