相关文章推荐
纯真的冲锋衣  ·  数据争用(data race) ...·  2 月前    · 
彷徨的充电器  ·  computed, watch, ...·  2 月前    · 
粗眉毛的熊猫  ·  jquery ajax向spring ...·  1 月前    · 
痴情的松鼠  ·  js每隔5秒执行一次-掘金·  1 年前    · 
谦和的皮带  ·  use case diagram ...·  1 年前    · 
url = 'http://www.baidu.com/s' params = {'wd': 'python'} # 也可以将携带的参数传给params r = requests.get(url, params=params) print(r.url) 执行结果: http://www.baidu.com/s?wd=python

推荐使用第一种方式,代码简洁,如果需要参数化url中的参数可以参照如下方式:

import requests
lists = ['python', 'php', 'Java']
for i in lists:
    url = 'http://www.baidu.com/s?wd=%s' % (str(i))
    r = requests.get(url)
    print(r.url)
执行结果:
	http://www.baidu.com/s?wd=python
	http://www.baidu.com/s?wd=php
	http://www.baidu.com/s?wd=Java

post请求

post(url, data=None, json=None, **kwargs)

post请求是我们常说的提交表单,表单的数据内容就是post请求的参数,request实现post请求需设置请求参数data,数据格式可以为字典、元组、列表和json格式,不同数据格式有不同的优势。

示例代码:

import requests
# import json
字典转json方法
data = {'key1': '1', 'key2': '2'}
data = json.dumps(data)
url = 'http://www.baidu.com'
data = 'python'
r = requests.post(url, data=data)  # 使用data携带参数
print(r.text)

data是发送请求到网站(服务器)的数据。

注意:requests的get和post方法的请求参数分别是params 和 data,不要混淆两者的使用要求。

获取相应内容

  • r.status_code:响应状态码
  • r.raw:原始响应体,使用r.raw.read()读取
  • r.content:字节方式的响应体,需要进行解码
  • r.text:字符串方式的响应体,会自动更具响应头部的字符编码进行解码
  • r.headers:以字典对象储存服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在,则返回None
  • r.json():request中内置的json解码器
  • r.raise_for_status():请求失败(非200响应),抛出异常
  • r.url:获取请求的url
  • r.cookies:获取请求后的cookies
  • r.encoding:获取编码格式
get请求get(url, params=None, **kwargs)requests实现get请求传参的两种方式方式一:import requestsurl = 'http://www.baidu.com/s?wd=python' # 使用?携带参数r = requests.get(url)print(r.url)执行结果: http://www.baidu.com/... def get(url, datas=None): response = requests.get(url, params=datas) json = response.json() return json 注:参数datas为json格式 ②POST # -*- coding:utf-8 -*- import requests def post(url, datas=None): response = requests.post(url, data=datas) json = re url = 'http://www.baidu.com' # 使用?携带参数 r = requests.get(url) #简单的get请求 用request.get()而需要自定义请求头的get用request.Request() #简单的get请求只能把数据放在url里 print(r.text)#text:获得借口返回值的文本格式 1、url格式:http://接口地址?ke /// 获取Http请求Get和Post所有参数 /// </summary> /// <param name="request">HttpRequestMessage实例</param> /// <returns>Get和Post参数键值对集合</returns> public static c... 1、requests请求任何方式都会再次调用一次request,所以我们可以直接调用request requests.request(get,url=url,params=data) 2、get传参post传参 1、get只能使用params 2、post使用data和json 1)data和json的却别,data传参默认格式a=1&b=2 只能传简单的dict和str json传参默认键值对格式 格式{"","","",""} json.d response = requests.get(url, params=None, **kwargs) 其,url为请求的URL地址,params为请求参数,**kwargs为其他可选参数,如headers、timeout等。 3.获取响应结果 response.text # 获取响应内容,以Unicode编码方式返回 response.content # 获取响应内容,以字节流方式返回 response.status_code # 获取响应状态码 response.headers # 获取响应头信息 response.cookies # 获取响应的cookies信息 以上就是requests.get的基本用法,可以根据具体需求进行参数设置和响应结果处理。