前兩個小demo urllib模塊在python3中的寫法
urllib模塊在python3中的寫法 自己測試了一下可以的:
# -*- coding:utf-8 -*-
# python2 環境下才要寫上面那句話
# python3 中把python2 的urllib和 urllib2 集成urllib包,
import urllib.request
from urllib.parse import urlencode
URL_IP = "http://localhost:8000/ip"
URL_GET = "http://127.0.0.1:8000/get"
def use_demo_urllib():
? ? """python3"""
? ? response = urllib.request.urlopen(URL_IP)
? ? # 返回文件狀態
? ? print(">>>Response status:",response.getcode())
? ??
? ? # 返回文件頭部信息
? ? Response_Headers = response.info()
? ? print(">>>Response Headers:\n", Response_Headers)
? ? # print(">>>Response Headers:\n",Response_Headers.items())
? ??
? ? # 返回響應體
? ? Response_body = ''.join([line.decode() for line in response.readlines()])
? ? print(">>>Response Body:\n",Response_body)
def use_params_parse():
? ? # 構建請求參數
? ? params = {"param1":"hello","param2":"world"}
? ? request_params = urlencode(params)
? ? print(request_params)
? ??
? ? # 發送請求
? ? response = urllib.request.urlopen('?'.join([URL_GET, "%s"]) % request_params)
? ? # 返回文件頭部信息
? ? Response_Headers = response.info()
? ? print(">>>Response Headers:\n", Response_Headers)
? ? # print(">>>Response Headers:\n",Response_Headers.items())
? ? print(">>>Status Code:",response.getcode())
? ? # 返回響應體
? ? Response_body = ''.join([line.decode() for line in response.readlines()])
? ? print(">>>Response Body:\n",Response_body)
if __name__ == "__main__":
? ? print(">>>Use simple urllib:")
? ? use_demo_urllib()
? ? print()
? ? print(">>>Use params urllib.parse:")
? ? use_params_parse()
? ? print("in this file , __name__ is %s" % __name__)
2018-03-14
Good, it work, thanks, just make it bit more clear!