آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

وب سرویس HttpUrlConnection (حل شده و مورد استفاده)

علی  10 سال پیش  9 سال پیش
0 0

با سلام :

من این وب سرویس رو پیاده سازی کردم و می خوام به جای String params بتونم ArrayList ست کنم. ولی نتونستم . کسی میتونه کمک کنه؟ اگر هم اشکالی در این وب سرویس هست بگید لطفا .

 public class Webservice {

    public static String readUrl(String url, String params) {
        HttpURLConnection connect = null;
        try {
            //Create connection
            URL mylink = new URL(url);
            connect = (HttpURLConnection) mylink.openConnection();
            connect.setRequestMethod("GET");
            connect.setRequestMethod("POST");
            connect.setReadTimeout(10000);
            connect.setConnectTimeout(15000);
            connect.setDoInput(true);
            connect.setDoOutput(true);

            //Send request
            if (params != null) {

                OutputStream os = connect.getOutputStream();
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
                writer.write(params);
                writer.flush();
                writer.close();
                os.close();
            }

            //Get Response
            BufferedReader reader = new BufferedReader(new InputStreamReader(connect.getInputStream(), "UTF-8"));
            StringBuilder sb = new StringBuilder();
            String line = null;

            while ((line = reader.readLine()) != null) {
                sb.append(line);
            }

            Log.i("LOG", " Data Line: " + sb.toString());
            reader.close();
            return sb.toString();
        } catch (Exception e) {
            e.printStackTrace();

        } finally {
            if (connect != null) {
                connect.disconnect();
            }
        }
        return null;
    }
}
0 0
به کمک دوستان عزیز احتیاج دارم لطفا راهنمایی کنید تا بتونم وب سرویس رو کامل کنم. (10 سال پیش)
+1 0
این دو کلمه رو گشتی؟ "httpurlconnection arraylist" (10 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
علی  10 سال پیش
+1 0

الان اینجوری درست شد با راهنمایی شما نصرتی جان : 

هر کسی دوست داره از این وب سرویس استفاده کنه برای API بالا تر از 22 !

 public class Webservice{

    public static String readUrl(String url,Map<String,String> params) {
        HttpURLConnection connect = null;
        try {

            //Create connection
            URL myLink = new URL(url);
            connect = (HttpURLConnection) myLink.openConnection();
            connect.setRequestMethod("GET");
            connect.setRequestMethod("POST");
            connect.setReadTimeout(10000);
            connect.setConnectTimeout(15000);
            connect.setDoInput(true);
            connect.setDoOutput(true);

            //Send request
            if (params != null) {

                String paramsString = getEncodedData(params);

                OutputStream os = connect.getOutputStream();
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
                writer.write(paramsString);
                writer.flush();
                writer.close();
                os.close();
            }

            //Get Response
            BufferedReader reader = new BufferedReader(new InputStreamReader(connect.getInputStream(), "UTF-8"));
            StringBuilder builder = new StringBuilder();
            String line = null;

            while ((line = reader.readLine()) != null) {
                builder.append(line);
            }

            Log.i("LOG", " Data Line: " + builder.toString());

            reader.close();
            return builder.toString();

        } catch (Exception e) {
            e.printStackTrace();

        } finally {
            if (connect != null) {
                connect.disconnect();
            }
        }
        return null;
    }

    // Get Encode Data
    private static String getEncodedData(Map<String,String> data) {
        StringBuilder sb = new StringBuilder();
        for (String key : data.keySet()) {
            String value = null;
            try {
                value = URLEncoder.encode(data.get(key), "UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }

            if (sb.length() > 0)
                sb.append("&");

            sb.append(key + "=" + value);
        }
        return sb.toString();
    }
}


    این هم برای صدا زدن 
String url = "http://192.168.1.1/login.php"; Map<String,String> params = new HashMap<>(); params.put("email", usertext.getText().toString()); params.put("password", passtext.getText().toString()); String result = Webservice.readUrl(url,params);
0 0
تستش نکردم چون با گوشی اومدم سایت رو ببینم. خب به نظر که خوب میاد کد ها اما میشه لطفا خط به خطشو توضیح بدی؟ مرسی علی جون (10 سال پیش)
+1 0
لینک این آدرس رو میفرستم ، خالی برمیگردونه ، در صورتی که اطلاعات هست ، وقتی مقدار های get رو انگلیسی میکنم درست میشه - مشکل از فارسی است ، فکر کنم فارسی رو در هم ارسال میکنه (9 سال پیش)
0 0
لینک =گلستان&city;=گرگان" این آدرس رو میفرستم ، خالی برمیگردونه ، در صورتی که اطلاعات هست ، وقتی مقدار های get رو انگلیسی میکنم درست میشه - مشکل از فارسی است ، فکر کنم فارسی رو در هم ارسال میکنه (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .