from pprint import pprint
import requests
URL = 'http://httpbin.org/post'
DATA = {'title': 'title', 'content': 'content'}
HEADERS = {'content-type': 'multipart/form-data; boundary={0}'.format('test')}
def post_data():
resp = requests.post(URL, data=DATA)
pprint(resp.json())
def post_with_formdata_header():
resp = requests.post(URL, headers=HEADERS, data=DATA)
pprint(resp.json())
def post_use_files_for_hack():
resp = requests.post(URL, files=DATA)
pprint(resp.json())
def post_data_but_empty_files():
resp = requests.post(URL, data=DATA, files={})
pprint(resp.json())
def post_data_and_files():
resp = requests.post(URL, data=DATA, files={'files': 'hack'})
pprint(resp.json())
post_data()
# {u'args': {},
# u'data': u'',
# u'files': {},
# u'form': {u'content': u'content', u'title': u'title'},
# u'headers': {u'Accept': u'*/*',
# u'Accept-Encoding': u'gzip, deflate',
# u'Cache-Control': u'max-age=259200',
# u'Content-Length': u'27',
# u'Content-Type': u'application/x-www-form-urlencoded',
# u'Host': u'httpbin.org',
# u'User-Agent': u'python-requests/2.11.1'},
# u'json': None,
# u'origin': u'103.7.28.136',
# u'url': u'http://httpbin.org/post'}
post_with_formdata_header()
# {u'args': {},
# u'data': u'',
# u'files': {},
# u'form': {},
# u'headers': {u'Accept': u'*/*',
# u'Accept-Encoding': u'gzip, deflate',
# u'Cache-Control': u'max-age=259200',
# u'Content-Length': u'23',
# u'Content-Type': u'multipart/form-data; boundary=test',
# u'Host': u'httpbin.org',
# u'User-Agent': u'python-requests/2.11.1'},
# u'json': None,
# u'origin': u'103.7.28.136',
# u'url': u'http://httpbin.org/post'}
post_use_files_for_hack()
# {u'args': {},
# u'data': u'',
# u'files': {u'content': u'content', u'title': u'title'},
# u'form': {},
# u'headers': {u'Accept': u'*/*',
# u'Accept-Encoding': u'gzip, deflate',
# u'Cache-Control': u'max-age=259200',
# u'Content-Length': u'262',
# u'Content-Type': u'multipart/form-data; boundary=28d6573b04524ce38c500e92e53d2145',
# u'Host': u'httpbin.org',
# u'User-Agent': u'python-requests/2.11.1'},
# u'json': None,
# u'origin': u'103.7.28.136',
# u'url': u'http://httpbin.org/post'}
post_data_but_empty_files()
# {u'args': {},
# u'data': u'',
# u'files': {},
# u'form': {u'content': u'content', u'title': u'title'},
# u'headers': {u'Accept': u'*/*',
# u'Accept-Encoding': u'gzip, deflate',
# u'Cache-Control': u'max-age=259200',
# u'Content-Length': u'27',
# u'Content-Type': u'application/x-www-form-urlencoded',
# u'Host': u'httpbin.org',
# u'User-Agent': u'python-requests/2.11.1'},
# u'json': None,
# u'origin': u'103.7.28.136',
# u'url': u'http://httpbin.org/post'}
post_data_and_files()
# {u'args': {},
# u'data': u'',
# u'files': {u'files': u'hack'},
# u'form': {u'content': u'content', u'title': u'title'},
# u'headers': {u'Accept': u'*/*',
# u'Accept-Encoding': u'gzip, deflate',
# u'Cache-Control': u'max-age=259200',
# u'Content-Length': u'332',
# u'Content-Type': u'multipart/form-data; boundary=0f46e83f5f90440288b820a72a8eeb17',
# u'Host': u'httpbin.org',
# u'User-Agent': u'python-requests/2.11.1'},
# u'json': None,
# u'origin': u'103.7.28.136',
# u'url': u'http://httpbin.org/post'}