使用 HttpsUrlConnection 的 Java POST 连接超时

标签 java ajax xml http-post

我有一个关于使用 Java 发出 POST 请求的问题,由于这是我第一次尝试这种规模的事情,请耐心等待。我正在开发一个 Java 第三方应用程序来连接到网站并发出 POST 请求。我这样做正确吗?这是我到目前为止所拥有的:

网站代码: (这是该网站用于“碰撞交易”的代码,它只是将 2 条数据发送到 php 文件。URL 为 http://cdn.dota2lounge.com/script/trades.js )

function bumpTrade(trade, code) {
$.ajax({
    type: "POST",
    url: "ajax/bumpTrade.php",
    data: "trade=" + trade + "&code=" + code
});
}

我的Java代码:

private void sendPost() throws Exception {

        //String url = "https://www.cdn.dota2lounge.com/script/ajax/bumpTrade.php";
        String url = "https://www.cdn.dota2lounge.com/script/ajax/bumpTrade.php";
        URL obj = new URL(url);
        HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();

//add request header
        con.setRequestMethod("POST");
        con.setRequestProperty("User-Agent", USER_AGENT);
        con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

        String urlParameters = "trade=96510389&code=94cebd9";

        // Send post request
        con.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream(con.getOutputStream());
        wr.writeBytes(urlParameters);
        wr.flush();
        wr.close();

        int responseCode = con.getResponseCode();
        System.out.println("\nSending 'POST' request to URL : " + url);
        System.out.println("Post parameters : " + urlParameters);
        System.out.println("Response Code : " + responseCode);

        BufferedReader in = new BufferedReader(
                new InputStreamReader(con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        //print result
        System.out.println(response.toString());

    }

但是,我在尝试连接时收到连接超时错误。如果有人能指出我正确的方向,我将非常感激!

最佳答案

Java 客户端代码似乎走在正确的轨道上。但看起来代码中的 URL 是错误的 URL。

使用 url“http://www.dota2lounge.com/ajax/bumpTrade.php”和 HttpUrlConnection,我能够获得 200 响应(正常):

正在向 URL 发送“POST”请求:http://www.dota2lounge.com/ajax/bumpTrade.php

发布参数:trade=96510389&code=94cebd9

响应代码:200

但是除此之外就没有什么了。不确定远程站点的 API,但希望这能有所帮助。

关于使用 HttpsUrlConnection 的 Java POST 连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986774/

相关文章:

python - 在 Python 中从 XML 数据创建字典(使用 xml.etree.ElementTree)

java - 使用 Jackson 反序列化 Java 数组

asp.net - 覆盖 ASP.NET AJAX 控件工具包的 TabContainer 控件中的默认 CSS

jquery - 通过 AJAX 对 Laravel 资源使用 PUT 时不允许使用该方法

javascript - 我无法操作/选择通过 Ajax 调用加载的 div?

xml - 使用 XSLT <xsl :element> and declaring elements literally? 有什么区别

java - 共享共同 super 实例的子实例

java - 使用 Java 数组获取最小值和最大值

Java 替换字符串匹配部分中的字符

android - 是否可以将参数发送到来自 xml View 的绑定(bind)事件