بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
وب سرویس HttpUrlConnection (حل شده و مورد استفاده)
با سلام :
من این وب سرویس رو پیاده سازی کردم و می خوام به جای 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);
لینک
این آدرس رو میفرستم ، خالی برمیگردونه ، در صورتی که اطلاعات هست ، وقتی مقدار های get رو انگلیسی میکنم درست میشه -
مشکل از فارسی است ، فکر کنم فارسی رو در هم ارسال میکنه (9 سال پیش)
لینک =گلستان&city;=گرگان"
این آدرس رو میفرستم ، خالی برمیگردونه ، در صورتی که اطلاعات هست ، وقتی مقدار های get رو انگلیسی میکنم درست میشه -
مشکل از فارسی است ، فکر کنم فارسی رو در هم ارسال میکنه (9 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .