别人入门request一天,而你只需要一篇文章就可以入门

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

requests 是 Python 中一个非常流行的 HTTP 请求库,它让发送 HTTP/1.1 请求变得非常简单。以下是 requests 库的基本使用入门指南,包括安装、发送 GET 和 POST 请求、处理响应等。


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装 requests

在python中安装requests:pip install requests

二、使用requests

在此给大家介绍一个学习requests请求网站:秘密神奇

1.发送 GET 请求

构建一个GET请求,请求http://httpbin.org/get

import requests

# 请求网址链接
url = 'https://httpbin.org/get'
# get请求
res = requests.get(url)
# res 的读取方式有三种
# 第一种字节流读:content 需要自己解码
# 第二种字符串:text 已经解码成字符串了
# 第三种json格式:json() 不及解码成了字符串和已经反序列化好了
print(res.text)

结果

{
“args”: {},
“headers”: {
“Accept”: “/”,
“Accept-Encoding”: “gzip, deflate”,
“Host”: “httpbin.org”,
“User-Agent”: “python-requests/2.32.3”,
“X-Amzn-Trace-Id”: “Root=1-66c5de22-3f71e6bc4c9e7cc6454755e3”
},
“origin”: “123.160.225.245”,
“url”: “https://httpbin.org/get”
}

1.发送带有请求参数的GET请求

import requests

url = 'https://httpbin.org/get'
params = {
    'name': '123',
    'age': 22
}
res = requests.get(url, params=params)
# res 的读取方式有三种
# 第一种字节流读:content 需要自己解码
# 第二种字符串:text 已经解码成字符串了
# 第三种json格式:json() 不及解码成了字符串和已经反序列化好了
print(res.text)

结果

{
“args”: {
“age”: “22”,
“name”: “123”
},
“headers”: {
“Accept”: “/”,
“Accept-Encoding”: “gzip, deflate”,
“Host”: “httpbin.org”,
“User-Agent”: “python-requests/2.32.3”,
“X-Amzn-Trace-Id”: “Root=1-66c5df8a-2ad9f14d65028f141ffe26c2”
},
“origin”: “123.160.225.245”,
“url”: “https://httpbin.org/get?name=123&age=22”
}

2.GET请求设置请求头

import requests

url = 'https://httpbin.org/get'
params = {
    'name': '123',
    'age': 22
}
headers = {
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'
}
res = requests.get(url, params=params,headers=headers)
print(res.text)

结果

{
“args”: {
“age”: “22”,
“name”: “123”
},
“headers”: {
“Accept”: “/”,
“Accept-Encoding”: “gzip, deflate”,
“Host”: “httpbin.org”,
“User-Agent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36”,
“X-Amzn-Trace-Id”: “Root=1-66c5e068-70b6a9ce10147234305f923d”
},
“origin”: “123.160.225.245”,
“url”: “https://httpbin.org/get?name=123&age=22”
}

2.发送 POST 请求

import requests

url = 'http://httpbin.org/post'
r = requests.post(url)
print(r.text)

结果

{
“args”: {},
“data”: “”,
“files”: {},
“form”: {},
“headers”: {
“Accept”: “/”,
“Accept-Encoding”: “gzip, deflate”,
“Content-Length”: “0”,
“Host”: “httpbin.org”,
“User-Agent”: “python-requests/2.32.3”,
“X-Amzn-Trace-Id”: “Root=1-66c5e0d9-5f791d2a0f3f97dd3734f095”
},
“json”: null,
“origin”: “123.160.225.245”,
“url”: “http://httpbin.org/post”
}

1.发送带有请求data参数的POST请求

import requests

url = 'https://httpbin.org/post'
data = {
    'name': '123',
    'age': 22
}
res = requests.post(url, data=data)
print(res.text)

结果

{
“args”: {},
“data”: “”,
“files”: {},
“form”: {
“age”: “22”,
“name”: “123”
},
“headers”: {
“Accept”: “/”,
“Accept-Encoding”: “gzip, deflate”,
“Content-Length”: “15”,
“Content-Type”: “application/x-www-form-urlencoded”,
“Host”: “httpbin.org”,
“User-Agent”: “python-requests/2.32.3”,
“X-Amzn-Trace-Id”: “Root=1-66c5e1a2-02ddf2715099b0b30c6635f5”
},
“json”: null,
“origin”: “123.160.225.245”,
“url”: “https://httpbin.org/post”
}

2.发送带有请求json参数的POST请求

import requests

url = 'https://httpbin.org/post'
json = {
    'name': '123',
    'age': 22
}

res = requests.post(url, json=json)
print(res.text)

结果

{
“args”: {},
“data”: “{“name”: “123”, “age”: 22}”,
“files”: {},
“form”: {},
“headers”: {
“Accept”: “/”,
“Accept-Encoding”: “gzip, deflate”,
“Content-Length”: “26”,
“Content-Type”: “application/json”,
“Host”: “httpbin.org”,
“User-Agent”: “python-requests/2.32.3”,
“X-Amzn-Trace-Id”: “Root=1-66c5e1ff-4e2ff4585d5896b87f6b32e8”
},
“json”: {
“age”: 22,
“name”: “123”
},
“origin”: “123.160.225.245”,
“url”: “https://httpbin.org/post”
}

3.设置请求头

import requests

url = 'https://httpbin.org/post'
data = {
    'name': '123',
    'age': 22
}
headers = {
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36'
}
res = requests.post(url, data=data)
print(res.text)

结果

{
“args”: {},
“data”: “”,
“files”: {},
“form”: {
“age”: “22”,
“name”: “123”
},
“headers”: {
“Accept”: “/”,
“Accept-Encoding”: “gzip, deflate”,
“Content-Length”: “15”,
“Content-Type”: “application/x-www-form-urlencoded”,
“Host”: “httpbin.org”,
“User-Agent”: “python-requests/2.32.3”,
“X-Amzn-Trace-Id”: “Root=1-66c5e260-290f13444cec81e763816198”
},
“json”: null,
“origin”: “123.160.225.245”,
“url”: “https://httpbin.org/post”
}

3.异常处理

requests 库会抛出异常来指示请求中的问题。最常见的异常是 requests.exceptions.RequestException,它是所有 requests 异常的超类。但通常,你会遇到更具体的异常,如 requests.exceptions.ConnectionError 和 requests.exceptions.HTTPError。你应该通过 try-except 块来处理这些异常:

import requests  
from requests.exceptions import RequestException  
  
try:  
    response = requests.get('https://some-invalid-url.com')  
    response.raise_for_status()  # 如果响应状态码不是200,则抛出HTTPError异常  
except RequestException as e:  
    print(e)

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值