java - 使用 HttpUrlConnection 在没有任何参数的情况下在服务器上执行 php 脚本

标签 java php android http

我正在尝试使用 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/

相关文章:

java - 正则表达式量词语句失败

php - 从 mysql 结果中打印 $variable

javascript - 检查 for 循环内的 radio 输入(仅包含值的输入)

java - Android:以编程方式使背景波纹化

android - 使用改造时是否需要检查 Activity 是否仍然存在?

java - HTTP2 url 在浏览器中加载成功但在 httpclient5 中加载失败

java - 如何在 java servlet 中将图像转换为 pdf?

java - Eclipse 图标中的数据库符号是什么意思?

PHP 正则表达式 - 从字符串的开头和结尾匹配

java - 将数据从 ViewModel 的 AsyncTask 传递到调用 Activity