js使用form表单方式模拟post请求

var openPostWindow =function (url, data1) {//url 为请求地址,data1为需要请求的数据
    var tempForm = document.createElement("form");//创建form表单,以下数form表单的各种参数
    tempForm.id = "tempForm1";
    tempForm.method = "post";
    tempForm.action = url;
    var hideInput1 = document.createElement("input");//创建标签 <input></input> 标签 然后设定属性,最后追加为 form标签的子标签
    hideInput1.type = "hidden";
    hideInput1.name = "result";
    hideInput1.value = data1;
    var hideInput2 = document.createElement("input");
    hideInput2.type = "hidden";
    hideInput2.name = "CSRFToken";
    hideInput2.value = JSON.parse(data1).CSRFToken;
    var hideInput3 = document.createElement("input");
    hideInput3.type = "hidden";
    hideInput3.name = "l";
    hideInput3.value = data1.length;
    tempForm.appendChild(hideInput1);
    tempForm.appendChild(hideInput2);
    tempForm.appendChild(hideInput3);

    if (document.all) {
        tempForm.attachEvent("onsubmit", function () {
        });        //IE
    } else {
        var subObj = tempForm.addEventListener("submit", function () {
        }, false);    //firefox
    }
    document.body.appendChild(tempForm);
    if (document.all) {
        tempForm.fireEvent("onsubmit");
    } else {
        tempForm.dispatchEvent(new Event("submit"));
    }
    tempForm.submit();//提交POST请求
    document.body.removeChild(tempForm);//删除整个form标签
}

亲测可用!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 HtmlUnit 发送 POST 请求可以通过模拟表单提交来实现。下面是一个示例代码片段,演示了如何使用 HtmlUnit 发送 POST 请求: ```java import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.WebRequest; import com.gargoylesoftware.htmlunit.html.HtmlForm; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.util.NameValuePair; import java.net.URL; import java.util.ArrayList; import java.util.List; public class HtmlUnitHttpPostExample { public static void main(String[] args) throws Exception { try (WebClient webClient = new WebClient(BrowserVersion.CHROME)) { webClient.getOptions().setJavaScriptEnabled(true); webClient.getOptions().setCssEnabled(false); // 创建 POST 请求的 URL URL url = new URL("http://example.com/postEndpoint"); // 创建 POST 请求参数 List<NameValuePair> parameters = new ArrayList<>(); parameters.add(new NameValuePair("param1", "value1")); parameters.add(new NameValuePair("param2", "value2")); // 创建 POST 请求 WebRequest request = new WebRequest(url); request.setHttpMethod(WebRequest.POST_METHOD); request.setRequestParameters(parameters); // 发送 POST 请求 HtmlPage page = webClient.getPage(request); // 获取响应内容 String responseJson = page.asXml(); // 输出结果 System.out.println(responseJson); } } } ``` 在上述示例中,我们首先创建了一个 `WebClient` 对象,并启用了 JavaScript。然后,创建了一个 `URL` 对象来指定 POST 请求的目标地址。接下来,我们创建了一个包含请求参数的 `NameValuePair` 列表。然后,使用 `WebRequest` 对象来设置 HTTP 方法为 POST,并设置请求参数。最后,使用 `getPage` 方法发送 POST 请求,并获取响应页面。可以将响应内容转换为字符串,以便进一步处理。 请注意,上述示例中的 URL 和请求参数仅作为示例,你需要根据实际情况修改为你要发送 POST 请求的目标地址和参数。 使用 HtmlUnit 发送 POST 请求时,你可以模拟表单提交的方式,发送请求并获取响应结果。这对于模拟用户行为、进行自动化测试或与 Web 服务进行交互非常有用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值