بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
اتصال به وب سرویس با یوزر نیم و پسورد ؟
سلام اگر به وب سرویسی که میخوام وصل بشم یوزر نیم و پسورد داشته باشه چی کار باید بکنم ؟ چطور باید یوزر نیم و پسورد را به وب سرویس پاس بدم ؟البته از طریقه یوآرال نمیخوام پاس بدم .
اینم کده اندرویدمه :
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText edtUsername = (EditText) findViewById(R.id.edtUserName);
EditText edtPassword = (EditText) findViewById(R.id.edtPassword);
String username = edtUsername.getText().toString();
String passwprd = edtPassword.getText().toString();
HttpClient client = new DefaultHttpClient();
HttpPost methodPost = new HttpPost("http://www.online.test.ir/MobileWebService/Related.asmx/Login");
try {
client.execute(methodPost);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
این کده وب سرویسشه :
[WebMethod(EnableSession = true)]
public int Login(string username, string pass, string device, int? security)
{
var ret = -3;
try
{
var bs = new BaseMaster();
if (!bs.securityRequest(10))
{
return -10;//ارسال بیش از حد دیتا
}
bs.setLogMobileVisit();
if (string.IsNullOrEmpty(pass) || security == null || string.IsNullOrEmpty(username))
{
ret = -2;//پارامترهای اساسی ارسال نشده است
}
else if (security != 128110)
{
ret = -1;//کد امنیتی درست وارد نشده است
}
else
{
var user = GetUserByName(username);
var p = Hash.MD5(pass);
if (user != null && user.Hidden == false && user.Password == Hash.MD5(pass))
{
if (user.Firstname != device)
{
return -4;//این گوشی برای این نام کاربری فعال نشده است
}
var u = new UserDB();
u.LastLogDate = DateTime.Now;
u.UpdateDate = DateTime.Now;
u.UserID = user.UserID;
Makarem_Facade.MakaremFL.UpdateMobileUserDB(u);
ret = (int)user.UserID;//عددی بزرگتر از 0 نشان دهنده لاگین با موفقیت است
var pl = new PermissionDBList();
Security.Login(user,false,pl);
StartSession(user);
}
else if (user.Hidden == true)
{
ret = 0;//این کاربری توسط مدیر غیر فعال شده است
}
else if (user == null)
{
ret = -3;// این نام کاربری یافت نشده است
}
else
{
ret = -5;//کلمه عبور با نام کاربری همخوانی ندارد
}
}
}
catch
{
ret = -6;//خطایی در طول برنامه رخ داده است
}
return ret;
}
+1
0
شما یوزر و پسورد را post کن ! البته پسورد را Hash کن بعد بفرست (12 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
aliasheq
12 سال پیش
+1
0
آقای میرهادی . اینطوری درسته ؟
final HttpParams params = new BasicHttpParams(); params.setParameter("username", "google"); params.setParameter("passwprd", "123456789"); params.setParameter("device", "0"); params.setParameter("security", 128110);
@Override public void run() { HttpClient client = new DefaultHttpClient(); HttpPost methodPost = new HttpPost("http://www.online.makarem.ir/MobileWebService/Related.asmx/Login"); methodPost.setParams(params); try { HttpResponse response = client.execute(methodPost); int code = response.getStatusLine().getStatusCode(); Log.i("OK", Integer.toString(code)); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
پاسخ به سوال
sadeghbarout
12 سال پیش
+2
0
والا من از وب سرویسی که استاد نوشتن استفاده میکنم. اینجوری پاس میده :
public class Webservice {
public static String send_eteraf(ArrayList<NameValuePair> params) {
String res = Webservice.readUrl("http://www.uncocoder.com/page.php", params);
return res;
}
public static String readUrl(String url, ArrayList<NameValuePair> params) {
try {
HttpClient client = new DefaultHttpClient();
HttpPost method = new HttpPost(url);
if (params != null) {
method.setEntity(new UrlEncodedFormEntity(params));
}
HttpResponse response = client.execute(method);
InputStream inputStream = response.getEntity().getContent();
String result = convertInputStreamToString(inputStream);
return result;
}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
private static String convertInputStreamToString(InputStream inputStream) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
builder.append(line);
}
return builder.toString();
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
که مقادیر به صورت NameValuePair ها فرستاده میشن.
اینم طرز استفاده اش:
ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("username", username));
params.add(new BasicNameValuePair("password", password));
String response = Webservice.readUrl(params);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .