Python之——Requests入门

编程入门 行业动态 更新时间:2024-10-23 03:29:25

Python之——Requests<a href=https://www.elefans.com/category/jswz/34/1770026.html style=入门"/>

Python之——Requests入门

 

一、Requests基础API

#HTTP请求类型
#get类型
r = requests.get('.json')
#post类型
r = requests.post("")
#put类型
r = requests.put("")
#delete类型
r = requests.delete("")
#head类型
r = requests.head("")
#options类型
r = requests.options("")#获取响应内容
print r.content #以字节的方式去显示,中文显示为字符
print r.text #以文本的方式去显示#URL传递参数
payload = {'keyword': '中国', 'salecityid': '2'}
r = requests.get("", params=payload) 
print r.url #示例为=2&keyword=中国#获取/修改网页编码
r = requests.get('.json')
print r.encoding
r.encoding = 'utf-8'#json处理
r = requests.get('.json')
print r.json() #需要先import json    #定制请求头
url = ''
headers = {'User-Agent' : 'Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19'}
r = requests.post(url, headers=headers)
print r.request.headers#复杂post请求
url = ''
payload = {'some': 'data'}
r = requests.post(url, data=json.dumps(payload)) #如果传递的payload是string而不是dict,需要先调用dumps方法格式化一下#post多部分编码文件
url = ''
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)#响应状态码
r = requests.get('')
print r.status_code#响应头
r = requests.get('')
print r.headers
print r.headers['Content-Type']
print r.headers.get('content-type') #访问响应头部分内容的两种方式#Cookies
url = ''
r = requests.get(url)
r.cookies['example_cookie_name']    #读取cookiesurl = ''
cookies = dict(cookies_are='working')
r = requests.get(url, cookies=cookies) #发送cookies#设置超时时间
r = requests.get('', timeout=0.001)#设置访问代理
proxies = {"http": ":8888","https": ":4444",}
r = requests.get('', proxies=proxies)

二、Requests示例

json请求

#!/user/bin/env python
#coding=utf-8
import requests
import jsonclass url_request():def __init__(self):""" init """    if __name__=='__main__':headers = {'Content-Type' : 'application/json'}payload = {'CountryName':'中国','ProvinceName':'陕西省','L1CityName':'汉中','L2CityName':'城固','TownName':'','Longitude':'107.33393','Latitude':'33.157131','Language':'CN'}r = requests.post("",headers=headers,data=payload)#r.encoding = 'utf-8'data=r.json()if r.status_code!=200:print "LBSLocateCity API Error " + str(r.status_code)print data['CityEntities'][0]['CityID'] #打印返回json中的某个key的valueprint data['ResponseStatus']['Ack']print json.dumps(data,indent=4,sort_keys=True,ensure_ascii=False) #树形打印json,ensure_ascii必须设为False否则中文会显示为unicode

xml请求

#!/user/bin/env python
#coding=utf-8
import requestsclass url_request():def __init__(self):""" init """    if __name__=='__main__':headers = {'Content-type': 'text/xml'}XML = '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="" xmlns:xsd="" xmlns:soap="/"><soap:Body><Request xmlns="/"><jme><JobClassFullName>WeChatJSTicket.JobWS.Job.JobRefreshTicket,WeChatJSTicket.JobWS</JobClassFullName><Action>RUN</Action><Param>1</Param><HostIP>127.0.0.1</HostIP><JobInfo>1</JobInfo><NeedParallel>false</NeedParallel></jme></Request></soap:Body></soap:Envelope>'url = '.asmx'r = requests.post(url,headers=headers,data=XML)#r.encoding = 'utf-8'data = r.textprint data

 

更多推荐

Python之——Requests入门

本文发布于:2024-03-11 14:57:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1729216.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:入门   Python   Requests

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!