urllib 的基础

import urllib.request
import urllib.parse										# 用于解码中文

url ='http://127.0.0.1:5000'							# 首先要访问的网址




try:
	# 读取网页内容
	html = urllib.request.urlopen(url)					# 打开网址
	html = html.read().decode()						# 读取并解码网页内容	
	print(html)		
	
	# 用get和post方式发送请求
	data,data1 = '广东','深圳'
	data = urllib.parse.quote(data)							# 如果有中文,必须先parse.quote,将中文转成UTF8
	data1 = urllib.parse.quote(data1)

	getdata = 'province='+data					# 用get方式发送数据内容,必须用key=value的形式,
	getdata1 = 'city='+data1
	postdata = getdata + getdata1				# 用post方式发送数据内容
	postdata = postdata.encode()				# 需要把post的数据转换成二进制
	
	response = urllib.request.urlopen(url+'?'+getdata+'&'+getdata1) # 用GET方式向网站发送请求,多个用‘&’连接,网址后面要接问号
	response = urllib.request.urlopen(url,data=postdata)	# 用POST方式向网站发送请求
	response = response.read().decode()
	print(response)
	
	# 下载文件
	urllib.request.urlretrieve(url+'?filename='+urllib.parse.quote(fileName),'download'+fileName)	# 下载文件
	
	
	# 下面是上传文件
	uploadurl = 'http://127.0.0.1:5000/upload'				# 要上传文件的网址
	headers = {'content-type':'application/octet-stream'}	# 上传文件,需要设置表头,并告诉服务端这是二进制数据流
	fileName = 'c:\\abc.jpg'								# 文件路径文件名
	f = open(fileName,'rb')									# 以二进制的方式打开要上传的文件
	data = f.read()
	f.close()
	p = fileName.rfind('\\')								# 找出文件名在路径所在位置
	fileName = fileName[p+1:]
	purl = url + '?fileName=' + urllib.parse.quote(fileName)
	req = urllib.request.Request(purl,data,headers)			# 将网址和上传数据和表头打包
	msg = urllib.request.urlopen(req)
	msg = msg.read().decode()
	
except Exception as err:
	print(err)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值