网络编程
一、get请求使用方法--固定格式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import requests url = 'http://api.nnzhp.cn/api/user/stu_info' req = requests.get(url,params = { 'stu_name' : 'MLing' }) print ( '这是json格式' ,req.json()) #返回内容按字典格式输出 print ( '这是text格式' ,req.text) #返回内容按test格式输出,原始返回什么就是什么 print ( '这是状态码' ,req.status_code) #请求结果中的状态 print ( '获取内容' ,req.content) #返回去请求内容,不过是字节格式的,返回文件、图片的时候使用 运行结果: 这是json格式 { 'error_code' : 0 , 'stu_info' : [{ 'sex' : '女' , 'name' : 'MLing' , 'gold' : 566 , 'phone' : '13212532910' , 'id' : 100010878 , 'age' : 28 , 'addr' : '河南省济源市北海大道32号' , 'grade' : '天蝎座' }]} 这是text格式 { "error_code" : 0 , "stu_info" : [ { "id" : 100010878 , "name" : "MLing" , "sex" : "女" , "age" : 28 , "addr" : "河南省济源市北海大道32号" , "grade" : "天蝎座" , "phone" : "13212532910" , "gold" : 566 } ] } 这是状态码 200 获取内容 b '{\n "error_code": 0,\n "stu_info": [\n {\n "id": 100010878,\n "name": "MLing",\n "sex": "\xe5\xa5\xb3",\n "age": 28,\n "addr": "\xe6\xb2\xb3\xe5\x8d\x97\xe7\x9c\x81\xe6\xb5\x8e\xe6\xba\x90\xe5\xb8\x82\xe5\x8c\x97\xe6\xb5\xb7\xe5\xa4\xa7\xe9\x81\x9332\xe5\x8f\xb7",\n "grade": "\xe5\xa4\xa9\xe8\x9d\x8e\xe5\xba\xa7",\n "phone": "13212532910",\n "gold": 566\n }\n ]\n}' |
二、post请求使用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # post请求post data --固定格式 import requests url = 'http://api.nnzhp.cn/api/user/login' req = requests.post(url,data = { 'username' : 'niuhanyang' , 'passwd' : '***' }) #传参格式固定 print (req.json()) #qq群 import requests url = 'https://qun.qq.com/cgi-bin/qun_mgr/get_group_list' data = { 'bkn' : 208992859 } req = requests.post(url,data) print (req.json()) 运行结果: { 'error_code' : 0 , 'login_info' : { 'login_time' : '20200527102730' , 'sign' : 'eb5c2eb9af952aab941702a480b45369' , 'userId' : 47749 }} { 'em' : ' [errcode:4:0]' , 'errcode' : 0 , 'ec' : 4 } |
三、发送header、cookie
1 2 3 4 5 6 | #cookies url = "https://qun.qq.com/cgi-bin/qun_mgr/get_group_list" data = { "bkn" : 208992859 } d = { 'pgv_pvi' : '6636933120' , 'RK' : 'gRZhhBpNbS' , 'ptcz' : '14bab564718e3e1048a09cc0e18a23f7c51f20d5b93da610cc1427f51f63a2f8' , 'pgv_pvid' : '4990195883' , 'ts_uid' : '5190463916' , 'uin' : 'o0511402865' , 'pgv_si' : 's7505852416' , 'skey' : '@2ttDS8Ljw' , 'p_uin' : 'o0511402865' , 'pt4_token' : 'AgqIsYBhO1b82zx1N4SxoGpCxGV0d38ss7jCI1nYfIg_' , 'p_skey' : '9nlMjw4Uy44*Hu5iL3DOFonmAtZtExiniLykrsIRKmM_' , 'traceid' : '14035c8a79' } req = requests.post(url,data,cookies = d) print (req.json()) |
注意:这种方式需要先将cookies转为字典
1 2 3 4 5 | url = "https://qun.qq.com/cgi-bin/qun_mgr/get_group_list" data = { "bkn" : 208992859 } header = { 'cookie' : "pgv_pvi=6636933120; RK=gRZhhBpNbS; ptcz=14bab564718e3e1048a09cc0e18a23f7c51f20d5b93da610cc1427f51f63a2f8; pgv_pvid=4990195883; ts_uid=5190463916; uin=o0511402865; pgv_si=s7505852416; skey=@2ttDS8Ljw; p_uin=o0511402865; pt4_token=AgqIsYBhO1b82zx1N4SxoGpCxGV0d38ss7jCI1nYfIg_; p_skey=9nlMjw4Uy44*Hu5iL3DOFonmAtZtExiniLykrsIRKmM_; traceid=14035c8a79" } req = requests.post(url,data,headers = header) print (req.json()) |
四、文件下载
1 2 3 4 5 6 | import requests url = 'https://q4.qlogo.cn/g?b=qq&nk=1561131041&s=140' req = requests.get(url) f = open ( 'MLing.jpg' , 'wb' ) f.write(req.content) f.close() |
五、文件上传
1 2 3 4 5 6 7 | import requests url = 'http://api.nnzhp.cn/api/file/file_upload' f = open ( 'MLing.jpg' , 'rb' ) data = { 'file' :f} req = requests.post(url,files = data) print (req.json()) f.close() |
六、json格式入参
1 2 3 4 5 6 7 8 | #传json格式入参--钉钉机器人 import requests url = 'https://oapi.dingtalk.com/robot/send?access_token=44402c9408df8cf3f429c02a20399fc34604f98cf572fcaeaa3f9592426176a7' d = { "msgtype" : "text" , "text" : { "content" : "下课了!besttest!" }} # d为把hd_cookie转为字典 req = requests.post(url,json = d) print (req.json()) print (req.cookies) #获取cookies |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)