博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3.6通过urllib模块使用post/get方法
阅读量:4160 次
发布时间:2019-05-26

本文共 1180 字,大约阅读时间需要 3 分钟。

1. 通过使用urllib模块使用post/get方式请求url;

2. urllib模块使用过程中的异常处理。

import  urllib.requestimport  urllib.parseimport  urllib.error #url异常处理 ###GET方法keywd="python"keywd=urllib.request.quote(keywd)  #搜索中文的方法url = "http://www.baidu.com/s?wd="+keywdreq=urllib.request.Request(url)data=urllib.request.urlopen(req).read()print(data.decode('utf-8','ignore')) #转为utf-8,如果出现异常,责忽略fh=open("/Users/huangliao/Desktop/1.html","wb")fh.write(data)fh.close();  ####postkeywd="python"keywd=urllib.request.quote(keywd)url="http://www.baidu.com/s"mydata=urllib.parse.urlencode({"wd":"python"}).encode('utf-8')req=urllib.request.Request(url,mydata)data=urllib.request.urlopen(req).read().decode("utf-8")print(data) 

'''
在清求url请求时会发现存在异常情况,常用的请求异常类是  HTTPError/URLError 两种,
HTTPError异常时URLError异常的子类,是带异常状态码和异常原因的,而URLError异常类
是不带状态码的,所以在使用中不用直接用URLError代替HTTPError异常,如果要代替,一定
要判断是否有状态码属性
URLError:
1/连接不上远程服务器;
2/url不存在;
3/本地没有网络;
4/假如触发httperror
 
所以通常用特殊处理来使用URLError来替代HTTPError异常
 
'''
 
try:
    urllib.request.urlopen("http://www.blog.csdn.net")
except urllib.error.URLError as e:
    if hasattr(e,"code"):
        print("code:")
        print(e.code)
    if hasattr(e,"reason"):
        print("reason:")
        print(e.reason)
finally:
    print("URLError ")
 
 
 

你可能感兴趣的文章
小米颓势已现,生死劫命悬手机
查看>>
三大隐忧 三星未来路在何方?
查看>>
linux下各种进制转化最简单的的命令行
查看>>
结构体和联合体
查看>>
ACM(Association for Computing Machinery )组织的详细介绍
查看>>
unix高级编程之-命令行参数(实践一)
查看>>
无线网络加密方式对比 .
查看>>
linux中cat命令使用详解
查看>>
Static 作用详述
查看>>
透析ICMP协议(三): 牛刀初试之一 应用篇ping(ICMP.dll)
查看>>
透析ICMP协议(四): 牛刀初试之二 应用篇ping(RAW Socket)
查看>>
再次写给我们这些浮躁的程序员
查看>>
Linux下重要日志文件及查看方式(1)
查看>>
Linux下重要日志文件及查看方式(2)
查看>>
Ubuntu系统root用户密码找回方法
查看>>
Linux驱动程序中比较重要的宏
查看>>
芯片驱动问题定位思路总结之一单板重启的问题
查看>>
S3C2440看门狗定时器
查看>>
LDD3源码分析之llseek分析
查看>>
linux read 用法
查看>>