HTTP(HyperText Transfer Protocol) 是一种能够获取如 HTML 这样的网络资源的 protocol(通讯协议)。 它常用的两种方式Get和Post 然后来讲讲Get和Post

  • 推荐浏览器Google Chrome,Chromium 或 Firefox

Method:

  • Get

首先,你打开我这网站的首页,这就是属于Get,而Get方式是从指定的资源请求数据例如 http://www.66ws.cc/ 那么,要传递参数呢?

在后面加上"?"后输入变量名称(keyname)=变量值(keyvalue),多个变量之间用"&"隔开,例如 http://www.66ws.cc/mabi/look.php?MabiWatch=True&Watch=ShowBoard ~~打开这个链接就能看到mabi看版的返回值,~~ MabiWatch是一个变量名,而True是个值,这个值是个字符串(String),并不是个布尔值(Bool)…… 而"&"分割开了MabiWatch和Watch这两个变量,Watch的值是ShowBoard,所以Get方式赋值的时候要注意不能出现&(如非要使用'&'符号,请转码它!!) 要知道访问的类型可以通过F12来查看

~~要是把MabiWatch去掉的话,就不能得到任何返回值了……~~ ( 更换站点后无论如何都不能获得返回值了)

  • Post

这是我们传数据时最常用的方式,例如你登录网站,上传文件,这些都是Post方式 Post属于向指定的资源提交要被处理的数据,没有链接上的格式 但是可以用F12来查看post了啥数据出去到哪个位置 Fiddler是一款截包器,可以用来拦截软件的数据包,传递的方式等

接下来讲讲如何利用这两种method来进行网页的获取 python3.6 首先推荐个库 ~~MyTool~~ PP(Personal Package) 这个库是我自己写的,下载(Clone or download) ~~后解压出来找到Python/LibsMyTool这个文件夹,~~ 把它剪切到你的py3库中,例如 python3/Lib/site-packages/MyTool 如果没有site-packages就创建

  • Get

利用MyTool实现

from MyTool import url_lib
ub = url\_lib.url\_lib("http://www.66ws.cc/api/getip.php")
html=ub.Get()
txt=html.read()
print(txt.decode())

利用urllib实现

import urllib.request
html= urllib.request.urlopen('http://www.66ws.cc/api/getip.php')
txt=html.read()
print(txt.decode())

一句一句的敲还是容易理解的,结果都是打印你的ip

  • Post

利用MyTool实现

from MyTool import url_lib
ub=url\_lib.url\_lib('http://www.66ws.cc/api/returnname.php')
html=ub.Post({"name":"Anest"})
txt=html.read()
print(txt.decode())

利用urllib实现

from urllib import request.parse
data=parse.urlencode({"name","Anest"})
data=data.encode()
req=request.Request('http://www.66ws.cc/api/returnname.php',data)
res=request.urlopen(req)
txt=res.read().decode()
print(txt)

Last Edited On Nov 15,2019.