这里在Java中有问题。我是一个初学者,不知道为什么它不起作用。
我想要的是:我有一个主页,我想更改模块的某些属性。因此,我有一个.php文件。我要做的就是转到URL(看起来像http://subdomain.domain.de/path_to_module/file.php?property=XY&api=Z)。为了使此操作更快,更轻松,尤其是对于朋友,我想编写一个小应用程序。
我查了一下google到现在为止:
public void onClick(View v) {
try {
URL url = new URL("http://subdomain.domain.de/path_to_module/file.php?
property=XY&api=Z");
HttpURLConnection connection = null ;
try {
connection = (HttpURLConnection) url.openConnection();
}
finally
{
if( connection != null )
connection.disconnect() ;
}
} catch (MalformedURLException e){
} catch (IOException e){}
}
但是那不起作用。该应用程序不会崩溃或发生任何事情。看起来好像可行,但是当您浏览网站时,它并没有任何改变。手动转到URL是有效的,所以这不是问题...
您有什么想法,如何解决问题?
请原谅拼写错误或类似之词,我不是母语人士。
嘿@David Conrad谢谢您的帮助。
如果我说对了,新的代码应如下所示:
public void onClick(View v) {
try {
URL url = new URL("http://subdomain.domain.de/path_to_module/file.php?
property=XY&api=Z");
HttpURLConnection connection = null ;
try {
connection = (HttpURLConnection) url.openConnection();
connection.connect();
}
finally
{
if( connection != null )
connection.disconnect() ;
}
} catch (MalformedURLException e){
} catch (IOException e){}
}
我尝试过,但是没有用。我是否误解了您在说什么?
URL openConnection()
方法无法建立连接:
应注意,URLConnection实例在创建时未建立实际的网络连接。仅在调用URLConnection.connect()时会发生这种情况。
您必须在它返回的openConnection()
对象上调用URLConnection.connect()
。
如果尚未建立此URL引用的资源,则打开指向该URL所引用资源的通信链接。
HttpURLConnection不会立即开始传输数据,因为您可能想设置HTTP标头,或者可能要执行POST或PUT而不是GET。您可能必须获取输入流,甚至可能要从中读取输入流,以使其从服务器发出GET请求(如果您要这样做的话)。
URLConnection.connect()
这将从连接中读取所有数据并将其写入缓冲区,如果您不关心其内容,则可以将其丢弃。