1. cgi编程
(1) 我首先在服务器上写了一个cgi脚本,用于本次的HTTP请求的测试 (2) 脚本放在/var/www/cgi-bin目录下,文件名叫test.py
代码如下:
import cgi
def main():
print("Content-type:text/html")
print
print("<html>")
print("<body>")
form
= cgi
.FieldStorage
()
site_serviceCode
= form
.getvalue
('serviceCode')
if site_serviceCode
!= '':
print("<h1>Hello, %s</h1> "% (site_serviceCode
))
else:
print("<h1>Sorry! Please enter first name.</h1>")
print("</body>")
print("</html>")
main
()
从脚本看出,我们需要在浏览器进行HTTP请求时,需要传入serviceCode这个参数
2. get方式
from urllib
import request
req
= request
.Request
('http://47.101.45.2/cgi-bin/test.py?serviceCode=aaa')
with request
.urlopen
(req
) as f
:
print(f
.read
().decode
('utf-8'))
结果:
3. post方式
from urllib
import request
, parse
login_data
= parse
.urlencode
([('serviceCode', 'aaa')])
req
= request
.Request
('http://47.101.45.2/cgi-bin/test.py')
req
.add_header
('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36')
with request
.urlopen
(req
, data
=login_data
.encode
('utf-8'), timeout
=30) as f
:
print(f
.read
().decode
('utf-8'))
结果: