Python 两种POST请求的方式

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)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值