我的编译器没有错误地查看我的代码,但它没有发布到网站上?
我已上网http://posttestserver.com/data/,我可以发帖。使用cURL,我可以发布,但是,当我运行我的代码时,它不会发布。
package cdlewis.pebbleaccelstream;
import android.os.AsyncTask;
import java.io.DataOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class PostMethod extends AsyncTask<URL, Void, Void> {
@Override
protected Void doInBackground(URL... url) {
try {
HttpURLConnection conn = (HttpURLConnection) url[0].openConnection();
System.out.println("Connection established");
conn.setReadTimeout(10000);
System.out.println("Read timeout");
conn.setConnectTimeout(15000);
System.out.println("Connect timeout");
conn.setRequestMethod("POST");
System.out.println("Post method");
conn.setDoInput(true);
System.out.println("set do input");
conn.setDoOutput(true);
System.out.println("set do output");
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
System.out.println("dataoutputstream");
wr.writeBytes("Hello! ");
System.out.println("hello");
wr.flush();
System.out.println("flush");
wr.close();
System.out.println("close");
} catch (Exception e) {
System.out.println("Error! ");
}
return null;
}
}
以下是我打电话给我班级的方式: -
try {
new PostMethod().execute(new URL("http://posttestserver.com/data/"));
} catch (MalformedURLException e) {
e.printStackTrace();
}
它打印出代码中的所有System.out.println()
,但不会在网页上打印任何内容
答案 0 :(得分:0)
您只是发送请求,但没有检查回复是什么。
int statusCode = conn.getResponseCode();
if (statusCode / 100 == 2) {
// ok
// can call conn.getInputStream() now
} else {
// some error or a redirect
// in case of error (4xx, 5xx) call conn.getErrorStream()
}
顺便说一下,你在catch
条款中看不到多少信息。
答案 1 :(得分:0)
在System.out.println之后(&#34;关闭&#34;);加 conn.connect();这是错过的。