Python学习——发送HTTP请求

it2025-02-18  3

1. cgi编程

(1) 我首先在服务器上写了一个cgi脚本,用于本次的HTTP请求的测试 (2) 脚本放在/var/www/cgi-bin目录下,文件名叫test.py

代码如下:

#!/usr/bin/python # -*- coding: UTF-8 -*- 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')]) #转化为bytes req = request.Request('http://47.101.45.2/cgi-bin/test.py') #Request对象 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') #返回HTTPResponse对象 with request.urlopen(req, data=login_data.encode('utf-8'), timeout=30) as f: print(f.read().decode('utf-8'))

结果:

最新回复(0)