2016-04-06 11 views
0

ile herhangi bir para birimi olmadan bir sunucuda bir php betiği yürütme Herhangi bir parametrelere gerek olmayan, bir web barındırma sunucusunda bulunan bir php komut dosyasını çalıştırmaya çalışıyorum, HttpURLConnection sınıfı. Bu benim kod bir AsyncTask içinde, geçerli:HttpUrlConnection

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(); 

Bir 'komut dosyasını çalıştırın' isteği göndermek için bir OutputStream nesnenin write() yöntemi kullanmak gerekir mi? URL ile bağlantı kurmamanız yeterli mi? (Not: Hata ayıklama yaparken, herhangi bir istisna alamıyorum, bağlantı yapılır). Yardımlarınız için teşekkür ederiz!

+0

Komut dosyasını hiç bir paramız olmadan çağırmanız gerektiğinden, POST yöntemine ihtiyacınız yoktur, bunun yerine GET kullanın. –

cevap

0

Hayır, burada ne işiniz var? Ancak, komut dosyanızın çalışıp çalışmadığını bilmek için sunucu yanıtını ayrıştırmanız gerekir. Minimum çözüm burada cevap kodunun kontrol edilmesi olacaktır. Bu

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)); 

deneyin Ve komut dosyasına herhangi bir veri sağlamak, böylece GET kullanmayın çünkü burada POST yöntemini gerekmez. Ben tavsiye edilmez bugünlerde HttpURLConnection kütüphane kullanma yerine Apache uygulamasını kullanabilir veya OkHttp veya benzeri gibi bazı daha gelişmiş kütüphane kullanmak için o eklemek istediğiniz bir yan not olarak daha buraya http://developer.android.com/training/basics/network-ops/connecting.html

okuyun.

+0

Yardımlarınız için ikinize de teşekkürler. Bir getResponseCode() yaptığımda çalıştı. Onsuz çalışmıyor. Apache uygulamasına ve OkHttp'ye bakacağım. Volley hala kullanılıyor mu? – MisterClode

+0

AFAIK oldukça popüler. –