0X00 urllib
#方式1: urllib2 urllib 以表单的形式提交POST数据
#Exp: username=zcs&password=123
import urllib2
import urllib
data = {'username': 'rose', 'password': '123456'}
f = urllib2.urlopen(
url='http://IP:PORT/test',
data=urllib.urlencode(data)
)
print f.read()
0X01 requests
1.requests 以JSON的形式提交数据
#Exp:{"username":"jack","password":"123"}
import requests
data = '{"username":"jack","password":"123"}'
headers = {'Content-Type':'application/json'}
rep = requests.post(url=config['request']['DeleteGraph'], data=data, headers=headers)
return rep.text
2.requests的basic_auth
import requests
r = requests.get('http://127.0.0.1/',auth=('admin','admin'))
# 与之等价的curl命令:
# curl -s -u admin:admin -k -F file=@/test.py https://127.0.0.1/api/
3.requests form表单提交数据并通过表单上传文件
import requests
data = {
'key': '1234'
}
file_path = '/test.py'
upload_file = {'file': open(file_path, 'rb')}
url = 'https://127.0.0.1/api/'
resp = requests.post(url=url, data=data, verify=False, files=upload_file)
上传文件时指定文件名的方法,覆盖本身文件名,upload_file字典的value为一个元组即可,元组第一个字段为新的文件名:
import requests
data = {
'key': '1234'
}
file_path = '/test.py'
upload_file = {'file': ('new_file_name', open(file_path, 'rb'))}
url = 'https://127.0.0.1/api/'
resp = requests.post(url=url, data=data, verify=False, files=upload_file)
4.get方法URL传参
import requests
url = "https://127.0.0.1/api/"
params = {'username': 'jack', 'password': 'test'}
resp = requests.get(url=url, verify=False, params=params)