PDA

View Full Version : ارسال مقادیر به یک فرم در سایت دیگر



ehsaan652
چهارشنبه 12 بهمن 1390, 09:13 صبح
سلام. من می خوام یک پیج asp بسازم و یک فرم ثبت نام توش باشه مقادیری که وارد می کنیم رو به یک سایت دیگه ارسال کنه و اونجا ثبت نام بشه و جواب رو توی پیج من نشون بده.
فرض کنید من یک سایت دارم و می خوام واسه این سایتم http://www.hamghadam.com/signup توی سایت اول قسمت ثبت نام بزارم چه کار باید بکنم که توی صفحه asp کاربر email رو که وارد کرد به فرم سایت همقدم ارسال بشه اما جوابش توی صفحه asp نشون بده مثلا بنویسه ایمیل شما ثبت شد.

hamid_shrk
چهارشنبه 12 بهمن 1390, 10:21 صبح
فکر میکنم باید تو سایت دومتون از وب سرویس استفاده کنید.

ehsaan652
چهارشنبه 12 بهمن 1390, 10:25 صبح
ممنون . اما راه دیگه ای به جز وب سرویس می خوام.

hamid_shrk
چهارشنبه 12 بهمن 1390, 10:31 صبح
راه دیگه استفاده از IFrame هست.
یا اینکه تو دیتا بیس سایت دوم ذخیره کنید.

ehsaan652
چهارشنبه 12 بهمن 1390, 10:36 صبح
نه بابا ! iframe که اون صفحه رو load می کنه. من می خوام خودم فرم بسازم. توی php از تابعی به اسم curl استفاده می شه و محاله که توی asp نشه این کار رو کرد. می خوام تابع یا کدی رو توی asp پیدا کنم که معادل curl در php باشه یا هر چیزی که باشه کار من رو راه بندازه.

M.KH-SH
چهارشنبه 12 بهمن 1390, 12:08 عصر
میشه در مورد وب سرویس توضیح بدین

smm2006sh
چهارشنبه 12 بهمن 1390, 12:22 عصر
سلام
توی این پست درباره وب سرویس مطلب گفته
http://barnamenevis.org/showthread.php?47079-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-Web-service-%D8%A7%D8%B2-%D8%A2%D8%BA%D8%A7%D8%B2-%D8%AA%D8%A7-%D9%BE%D8%A7%DB%8C%D8%A7%D9%86...

موفق باشید
یا مهدی

alonemm
چهارشنبه 12 بهمن 1390, 14:46 عصر
سلام. من می خوام یک پیج asp بسازم و یک فرم ثبت نام توش باشه مقادیری که وارد می کنیم رو به یک سایت دیگه ارسال کنه و اونجا ثبت نام بشه و جواب رو توی پیج من نشون بده.
فرض کنید من یک سایت دارم و می خوام واسه این سایتم http://www.hamghadam.com/signup توی سایت اول قسمت ثبت نام بزارم چه کار باید بکنم که توی صفحه asp کاربر email رو که وارد کرد به فرم سایت همقدم ارسال بشه اما جوابش توی صفحه asp نشون بده مثلا بنویسه ایمیل شما ثبت شد.

باسلام :
در لینک زیر یک مقاله برای ساخت وب سرویس گزاشتم :
http://barnamenevis.org/showthread.php?274518-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-%DB%8C%DA%A9-%D9%88%D8%A8-%D8%B3%D8%B1%D9%88%DB%8C%D8%B3-%D9%88-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%A2%D9%86-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D8%AA%D8%AD%D8%AA-%D9%88%D8%A8-%D9%88-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%87%D8%A7%DB%8C-%D8%AA%D8%AD%D8%AA-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2


موفق باشید.

ehsaan652
چهارشنبه 12 بهمن 1390, 15:32 عصر
اما من وب سرویس نخواستم ! اصلا فرض کنید که من به هاست سایت مقصد دسترسی نداره.
بهتره اینجوری بگم : من می خوام یه پیج درست کنم که توش یه فرم باشه و فرم رو که پر کردم و ارسال رو زدم توی سایت برنامه نویس عضو بشم. اطلاعات به صفحه عضویت سایت برنامه نویس ارسال بشه اما کاربر سایت من رو ببینه. یا مثلا کاربر فرم رو که پر می کنه و ارسال رو می زنه توی سایت یاهو عضو بشه اگر ایمیل تکراری بود و یاهو قبول نکرد توی سایت من بنویسه که تکراری هست و اگر ساحته شد باز هم توی سایت من بنویسه پیام ساحته شدن ایمیل رو

hamid_shrk
چهارشنبه 12 بهمن 1390, 15:39 عصر
اینجوری که نمیشه !!!
سایت مقصد باید به شما یک سرویس ارائه بده حتما

ehsaan652
چهارشنبه 12 بهمن 1390, 15:41 عصر
توی php می شه! پس باید با asp هم بشه. مثلا یکی بود با php یه فرم رو به قسمت نظرات بلاگفا متصل کرده بود و اسپمر ساخته بود.

alonemm
چهارشنبه 12 بهمن 1390, 16:06 عصر
از استاد دانشگاهمونم پرسیدم گفت می شه اما فعلا وقت نداره کمکم کنه.....

استفاده از وب سرویس یک راه حل اصولی هست اما پیاده سازی صفحه به صورت مجازی هم میتونه یک راه کار ساده باشه.
بله میشه من چنین کاری رو هم با PHP و هم با ASP.net پیاده سازی کردم:

یک مثال برات میزارم که 2 پارامتر رو به صورت Post به صفحه لاگین یک سایت میفرسته و بعد از اعتبار سنجی پیام رو به شما نشون میده صفحه مورد نظر میتونه با هر تکنولوژی ساخته شده باشه در مثال زیر صفحه اعتبار سنجی از PHP استفاده کرده:

WebRequest req = WebRequest.Create("http://www.acc-taraz.com/login-user.php");
string postData = "username1=a&password1=123";
byte[] send = Encoding.Default.GetBytes(postData);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = send.Length;
Stream sout = req.GetRequestStream();
sout.Write(send, 0, send.Length);
sout.Flush();
sout.Close();
WebResponse res = req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream());
string html = sr.ReadToEnd();
Literal1.Text = html;


از برنامه نویسی لذت ببرید مزاحم استادتون هم نشید اینجا استاد خیلی زیاده.
موفق باشید.

alonemm
چهارشنبه 12 بهمن 1390, 16:36 عصر
اینجوری که نمیشه !!!
سایت مقصد باید به شما یک سرویس ارائه بده حتما

وقتی یک صفحه سایت رو میبینید این صفحه داره به شما سرویس ارائه میده.
منظور از سرویس حتما نباید ارسال و یا جواب یک متد باشه.


موفق باشید.

ehsaan652
چهارشنبه 12 بهمن 1390, 16:40 عصر
ممنون. اما من خیلی مبتدی هستم. می شه یه مثال واسه این 2 تا فیلد لایگن بزنید
http://www.hamghadam.com/signin/
یا مثلا لاگین یاهو یا همین سایت برنامه نویس.

کدی که دادین به چند تا using نیاز داشت 2 تاش رو بیدا کردم.
io و net
اما هنوز نتونستم واسه این کد پیزی پیدا کنم Encoding که visual بشناستش.

alonemm
چهارشنبه 12 بهمن 1390, 16:45 عصر
ممنون. اما من خیلی مبتدی هستم. می شه یه مثال واسه این 2 تا فیلد لایگن بزنید
http://www.hamghadam.com/signin/
یا مثلا لاگین یاهو یا همین سایت برنامه نویس.

کدی که دادین به چند تا using نیاز داشت 2 تاش رو بیدا کردم.
io و net
اما هنوز نتونستم واسه این کد پیزی پیدا کنم Encoding که visual بشناستش.
از فضای نام :
using System.Text;
استفاده کنید.

فقط کافیه شما آدرس url و اسم مقادیری که Post میشن رو از فرم HTML بخونید و جای گزاری کنید.

موفق باشید.

ehsaan652
چهارشنبه 12 بهمن 1390, 16:55 عصر
می شه این فایل رو ببینید. اصلا من درست متوجه شدم یا نه و مشکل کارم چیه؟
http://s2.picofile.com/file/7276343759/ehsaan.zip.html

alonemm
چهارشنبه 12 بهمن 1390, 17:26 عصر
به کد زیر دقت کنید:

WebRequest req = WebRequest.Create("http://www.hamghadam.com/signin");
string postData = "email="+TextBox1.text+"&password="+TextBox2.text;
byte[] send = Encoding.Default.GetBytes(postData);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = send.Length;
Stream sout = req.GetRequestStream();
sout.Write(send, 0, send.Length);
sout.Flush();
sout.Close();
WebResponse res = req.GetResponse();
StreamReader sr = new StreamReader(res.GetResponseStream());
string html = sr.ReadToEnd();
Literal1.Text = html;