• python学习笔记(十七)网络编程之urllib模块


    如何用python打开一个网站或者请求一个接口呢,我们在这篇博客介绍一下。

    首先我们得导入一个urllib模块,这个模块是python自带的标准模块,直接导入就能使用,但是用起来不方便,先看个简单的打开一个网页的例子吧。

    from urllib import request,parse
    url = 'http://www.baidu.com'
    req = request.urlopen(url)  #打开一个url,发get请求
    content = req.read().decode() #获取返回结果,返回结果是byte类型,需要解码
    fw = open('baidu.html','w',encoding='utf-8')
    fw.write(content)

    下面我们做一个get请求的接口,也是类似的操作

    import json
    url='http://api.python.cn/api/user/stu_info?stu_name=xiaohei'
    req = request.urlopen(url)  #打开一个url,发get请求
    content = req.read().decode() #获取返回结果
    res_dic = json.loads(content) #返回的结果转成字典
    if res_dic.get('error_code') == 0:
        print('测试通过')
    else:
        print('测试失败',res_dic)

    如果请求是post请求呢,那么我们需要将参数也写入进去

    url = 'http://api.python.cn/api/user/login'
    data = {
        'username':'admin',
        'passwd':'aA123456'
    } #请求数据
    data = parse.urlencode(data)  #urlencode,自动给你拼好参数
    # xx=xx&xx=11
    req = request.urlopen(url,data.encode()) #发post请求
    print(req.read().decode())

    从以上例子可以看出,urllib这个模块用起来确实很麻烦,像post请求,需要将参数通过urlencode拼接起来,然后encode编码,然后再去发送请求,获取到结果后又需要将返回数据进行decode解码。可以说是相当费劲。那么下篇博客我们就来介绍网络编程中常用的好用的模块吧。。。。。

  • 相关阅读:
    杂谈
    分享一首歌——美丽的万物
    Silverlight有感
    风云的银光志Silverlight4.0教程之打印报表和图形(转)
    IIS 7.0的集成模式和经典模式
    WPF中MVVM模式原理分析与实践(转)
    使用HTTP_X_FORWARDED_FOR获取客户端IP的严重后果
    各大网站架构总结笔记(转)
    做了几天silverlight 小结一下
    Fiddler2介绍
  • 原文地址:https://www.cnblogs.com/mululu/p/9049980.html
Copyright © 2020-2023  润新知