我需要使用请求模块发送以下 POST 请求,我从 Burpsuit 收到以下请求,这是我通过拦截自己的请求并尝试自动化而获得的
POST /scripts/shortenUrl.php HTTP/1.1
Host: cutt.ly
Connection: close
Content-Length: 237
sec-ch-ua: "Google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"
sec-ch-ua-mobile: ?0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryXZk9MsSvsF3JaaKn
Accept: */*
Origin: https://cutt.ly
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://cutt.ly/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: urls=%5B%5B%222021-04-19%22%2C%22Gmail%22%2C%22http%3A%5C%2F%5C%2Fgmail.com%22%2C%22https%3A%5C%2F%5C%2Fcutt.ly%5C%2FFvTlMPI%22%5D%2C%5B%222021-04-19%22%2C%22Zaktualizuj%20swoj%5Cu0105%20przegl%5Cu0105dark%5Cu0119%20%7C%20Facebook%22%2C%22http%3A%5C%2F%5C%2Fwww.facebook.com%22%2C%22https%3A%5C%2F%5C%2Fcutt.ly%5C%2FqvTturR%22%5D%5D; __cfduid=dab381c8531b29b6a21779a3d8fc1c37b1618831070; PHPSESSID=isje9ckfgbi3mardervtpldlr7; _ga=GA1.2.1920648684.1618831073; _gid=GA1.2.1780730818.1618831073; cookies_accepted=T; _gat_gtag_UA_112763434_1=1
------WebKitFormBoundaryXZk9MsSvsF3JaaKn
Content-Disposition: form-data; name="url"
gmail.com
------WebKitFormBoundaryXZk9MsSvsF3JaaKn
Content-Disposition: form-data; name="domain"
0
------WebKitFormBoundaryXZk9MsSvsF3JaaKn--
我尝试了以下方法,发布请求已完成,但网站返回错误消息,因为发布数据未正确发送,并且它看起来不像发布请求正文中的 json 以轻松发送它,而是看起来像纯文本.. 不知道如何使用请求发送纯文本帖子数据
import requests
post_data="gmail.com"
headers_data={
"Host": "cutt.ly",
"Connection": "close",
"Content-Length": 237,
"sec-ch-ua": '"Google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"',
"sec-ch-ua-mobile": '?0',
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.128 Safari/537.36",
"Content-Type": "multipart/form-data; boundary=----WebKitFormBoundaryXZk9MsSvsF3JaaKn",
"Accept": "*/*",
"Origin": "https://cutt.ly",
"Sec-Fetch-Site": "same-origin",
"Sec-Fetch-Mode": "cors",
"Sec-Fetch-Dest": "empty",
"Referer: https":"//cutt.ly/",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-US,en;q=0.9",
"Cookie": 'urls=%5B%5B%222021-04-19%22%2C%22Gmail%22%2C%22http%3A%5C%2F%5C%2Fgmail.com%22%2C%22https%3A%5C%2F%5C%2Fcutt.ly%5C%2FFvTlMPI%22%5D%2C%5B%222021-04-19%22%2C%22Zaktualizuj%20swoj%5Cu0105%20przegl%5Cu0105dark%5Cu0119%20%7C%20Facebook%22%2C%22http%3A%5C%2F%5C%2Fwww.facebook.com%22%2C%22https%3A%5C%2F%5C%2Fcutt.ly%5C%2FqvTturR%22%5D%5D; __cfduid=dab381c8531b29b6a21779a3d8fc1c37b1618831070; PHPSESSID=isje9ckfgbi3mardervtpldlr7; _ga=GA1.2.1920648684.1618831073; _gid=GA1.2.1780730818.1618831073; cookies_accepted=T; _gat_gtag_UA_112763434_1=1'
}
x = requests.post('https://cutt.ly/scripts/shortenUrl.php',data=post_data,headers=headers_data)
print(x.text)
答案 0 :(得分:0)
POST body(data) 必须是字典结构:
data = {key: value}
key -> 站点表单中的字段名称
值 -> 字段值
在你的情况下:
data = {'email':'gmail.com'}