我正在尝试使用 HttpURLConnection
类运行一个不需要任何参数的 PHP 脚本,该脚本位于免费的 Web 托管服务器上。
这是我的代码,位于 AsyncTask
中:
URL url = new URL("http://**********/connect.php");
HttpURLConnection urlconnection = (HttpURLConnection) url.openConnection();
urlconnection.setRequestProperty("Accept-Charset", "UTF-8");
urlconnection.setConnectTimeout(15000);
urlconnection.setDoOutput(true);
urlconnection.setRequestMethod("POST");
urlconnection.connect();
// add more code here to send a run request ?
urlconnection.disconnect();
我应该使用 OutputStream
对象的 write()
方法发送“运行脚本”请求吗?建立与 URL 的连接难道还不够吗?
(注意:在调试时,我没有收到任何异常,这意味着连接已建立)。
感谢您的帮助!
最佳答案
不,你在这里所做的就足够了。但是,要知道脚本是否正在运行,您当然需要解析服务器响应。这里的最低解决方案是检查响应代码。试试这个
int responseCode = conn.getResponseCode();
final String DEBUG_TAG = "DEBUG LOG";
Log.d(DEBUG_TAG, "Response code: " + response);
Log.d(DEBUG_TAG, "Script was running: " + (response == 200));
这里不需要 POST 方法,因为您不向脚本提供任何数据,因此使用 GET。 在这里了解更多 http://developer.android.com/training/basics/network-ops/connecting.html
作为旁注,我想补充一点,现在不建议使用 HttpURLConnection 库,而是使用 Apache 实现或使用一些更高级的库,如 OkHttp 或类似的库。
关于java - 使用 HttpUrlConnection 在没有任何参数的情况下在服务器上执行 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36450660/