使用HttpsUrlConnection的Java POST连接超时

时间:2014-06-02 03:03:16

标签: 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());

    }

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

1 个答案:

答案 0 :(得分:0)

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

使用网址“http://www.dota2lounge.com/ajax/bumpTrade.php”和HttpUrlConnection,我得到了200响应(OK):

向网址发送“POST”请求:http://www.dota2lounge.com/ajax/bumpTrade.php

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

回复代码:200

然而除此之外什么也没有。不确定远程站点的API,但希望这有所帮助。