我有一个关于用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());
}
但是,我在尝试连接时收到连接超时错误。如果有人能指出我正确的方向,我将非常感激!
答案 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,但希望这有所帮助。