python爬虫基础,post提交方式复习

#-*-coding:utf8-*-

#参考学习官方资料 http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

#POST请求与POST的提交方式(比如post请求方式,application/json编码后的提交)
#application/x-www-form-urlencoded 以form表单的形式提交数据,这是最常见的一种
#application/json 以json串提交数据
#multipart/form-data:上传文件

#http://httpbin.org/post 用来测试request的网址

import requests
url='http://httpbin.org/post'
d={'key1':'value','key2':'value2'}
response=requests.post(url,data=d)
print(response.text)
print(response.content)#二进制的响应方式
print(response.json())#json的响应方式
print(response.raise_for_status())#成功什么都不输出
print(response.status_code)
print(response.headers['Content-Type'])
# print(response.request.url)
# print(response.url)
# print(response.headers)
#request上传文件的功能


#requests与cookies的联系
print('---------------------------------------------------------')
url2='http://httpbin.org/cookies'
cookies=dict(cookies_are='working')
response2=requests.get(url2,cookies=cookies)
print(response.cookies)#cookie的返回对象为RequestsCookieJar,它的行为和字典类似,但接口更为完整,适合跨域名跨路径使用。
print(response2.text)

#你还可以把 Cookie Jar 传到 Requests 中
jar=requests.cookies.RequestsCookieJar()
jar.set('tasty_cookie','yum',domain='httpbin.org',path='/cookies')
jar.set('gross_cookie','blech',domain='httpbin.org',path='/elsewhere')
r=requests.get(url2,cookies=jar)
print(r.text)

#重定向与禁用重定向
re=requests.get('http://github.com') #Github 将所有的 HTTP 请求重定向到 HTTPS:
print(re.status_code,' ',re.url,' ',re.history)

#禁用重定向
print('---------------------------------------------------')
re=requests.head('http://github.com',allow_redirects=True)
print(r.url,' ',r.status_code,' ',r.history)
#使用HEAD启用重定向
re=requests.head('http://github.com',allow_redirects=True)


#requests高级用法
url3='http://www.yooc.me'
res=requests.get(url3)
print('-------------------------------------------')
print(res.request.headers)

#高级用法 http://docs.python-requests.org/zh_CN/latest/user/advanced.html#advanced
posted @ 2018-09-10 09:00  不停地走  阅读(3460)  评论(0编辑  收藏  举报