Python发送网络请求(requests)

 更新时间:2023年09月06日 08:35:16   作者:阿飞学不会吖  
这篇文章主要介绍了Python发送网络请求(requests),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python发送网络请求(requests)

Python已经是广泛使用的脚本语言了,我们可以使用requests库进行网络请求。

在PyPI中搜索 requests ,就可以找到这个库

1. 安装

pip install requests

安装完成后,在py脚本中使用库,需要 import 进行代码导入

import requests

2. 发送请求

2.1 发送GET请求

import requests
r = requests.get('https://api.github.com/events')
print(r)

如果请求成功,返回的结果为 Response 对象

GET 请求也是可以传递参数的,上面的代码演示的是无参数形式,可以通过 params 参数传递 GET 参数。

import requests
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get('https://httpbin.org/get', params=payload)

2.2 发送POST请求

import requests
r = requests.post('https://httpbin.org/post', data={'key': 'value'})
print(r)

POST请求通过 data 参数传递请求参数

2.3 输出其他信息

import requests
r = requests.get('https://api.github.com/events')
print(r)
print(r.encoding);
print(r.url);
print(r.status_code);
print(r.cookies);
print(r.headers);

encoding 表示编码;url 表示完整请求路径;status_code 表示 http 请求状态码;cookies 表示 cookies 信息;headers 表示请求头信息。

3. 心得

Python的requests 库可以实现网络请求,可以以非常简单的API发送GET、POST请求,并可以根据得到的Response对象获取请求结果

Python多进程调用requests API发送网络请求导致python程序崩溃

描述

在涉及到multiprocess的python项目中,如果在forked出的process中,调用requests API(i.e. requests.get('...'), 该进程会崩溃。

原因

根据对代码执行路径的分析,以及issue 和其他网友的记录, 可以判定该bug的出现原因为Mac的libdispatch并不是fork-safe,从而导致在fork出的进程里使用requests出错。

解决方案

在main process里完成requests相关初始化

如果确实要在fork出的process里调用requests,那么在调用前,添加以下代码:

os.environ['no_proxy']='*'

来跳过network proxy lookup。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python在指定位置插入字符的实现

    python在指定位置插入字符的实现

    本文主要介绍了python在指定位置插入字符的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • Python基于callable函数检测对象是否可被调用

    Python基于callable函数检测对象是否可被调用

    这篇文章主要介绍了Python基于callable函数检测对象是否可被调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 详解Python中RegEx在数据处理中的应用

    详解Python中RegEx在数据处理中的应用

    正则表达式(Regular Expressions,简称 RegEx)是一种强大的文本匹配和搜索工具,它在数据处理、文本解析和字符串操作中发挥着关键作用,下面就跟随小编一起来了解一下RegEx的具体使用吧
    2024-01-01
  • celery在python爬虫中定时操作实例讲解

    celery在python爬虫中定时操作实例讲解

    在本篇文章里小编给大家整理了一篇关于celery在python爬虫中定时操作实例讲解内容,需要的朋友们可以参考下。
    2020-11-11
  • python sort、sort_index方法代码实例

    python sort、sort_index方法代码实例

    这篇文章主要介绍了python sort、sort_index方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Python创建系统目录的方法

    Python创建系统目录的方法

    这篇文章主要介绍了Python创建系统目录的方法,实例分析了Python操作目录的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • python3中http协议提供文件服务器功能详解

    python3中http协议提供文件服务器功能详解

    http协议是互联网的通用基础协议,也可以利用其来开发文件服务器,给客户提供文件浏览,查看,下载,上传等功能,这篇文章主要介绍了python3中http协议提供文件服务器功能,需要的朋友可以参考下
    2023-06-06
  • Jupyter notebook在mac:linux上的配置和远程访问的方法

    Jupyter notebook在mac:linux上的配置和远程访问的方法

    今天小编就为大家分享一篇关于Jupyter notebook在mac:linux上的配置和远程访问的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • python如何遍历postgresql所有的用户表

    python如何遍历postgresql所有的用户表

    这篇文章主要为大家详细介绍了python遍历postgresql所有的用户表的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-05-05
  • python实现微信小程序自动回复

    python实现微信小程序自动回复

    这篇文章主要介绍了python实现微信小程序自动回复,使用itchat模块进行微信私聊消息以及群消息自动回复,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09

最新评论