我想通过PUT请求发送数据。
我有一个输入数据要发送的数据。 提交我想发送数据。
我的数据是json格式。
这仅适用于pentest - 所以它必须是PUT请求
我试过了:
<header>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="javascript">
$(document).ready(function(){
$(#submit).click(){
var xmlHttp = getNewHTTPObject(); //returns a XMLHttpRequest object
function chargeURLPut(url) {
var mimeType = "text/plain";
xmlHttp.open('PUT', url, true); // true : asynchrone false: synchrone
xmlHttp.setRequestHeader('Content-Type', mimeType);
xmlHttp.send($(#data).val();
}}});
</script>
</header>
<body>
<form>
Data:<br>
<input id="data" type="text" name="data" value="Mickey"><br>
<input id="submit" type="submit" value="Submit">
</form>
</body>
</html>
但数据会像GET-Parameters一样添加到网址中。在http标题之后我想要像“{date:foo ....}”这样的数据
示例请求:
PUT /foo/bar/v1/users HTTP/1.1
Host: www.foo.bar
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0
Accept: */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: https://www.foo.bar/frontend/
Content-Type: application/json;charset=UTF-8
Authorization: eyJhbGciOiJSUzUxMiJ9.eyJzdW
origin: https://www.foo.bar
Content-Length: 598
Connection: close
{foo: bar, foo:bar}
答案 0 :(得分:3)
您需要将数据发送为x-www-form-urlencoded
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
你必须在.click()
中调用已定义的函数$(#submit).click(){
var xmlHttp = getNewHTTPObject(); //returns a XMLHttpRequest object
chargeURLPut('url');
function chargeURLPut(url) {
var mimeType = "text/plain";
xmlHttp.open('PUT', url, true); // true : asynchrone false: synchrone
xmlHttp.setRequestHeader('Content-Type', mimeType);
xmlHttp.send($('#data').val());
}
});
答案 1 :(得分:2)
您可以尝试使用$ .ajax调用。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#submit').click( function () {
console.log("click");
var sendData = $('#data').val();
$.ajax({
url: 'localhost', //Your api url
type: 'PUT', //type is any HTTP method
data: {
data: sendData
}, //Data as js object
success: function () {
}
})
;
});
});
</script>
</head>
<body>
<form>
Data:<br>
<input id="data" type="text" name="data" value="Mickey"><br>
<input id="submit" type="button" value="Submit">
</form>
</body>
</html>
我在网络服务器上测试了这个。它有效。