PDA

View Full Version : سوال: curl in asp.net



zrezvani
پنج شنبه 20 آذر 1393, 18:41 عصر
سلام وقتتون به خیر
من میخوام از طریق curl به وب سرویسی متصل بشم و یه سری داده رو به وب سرویس بفرستم و خروجی بگیرم
یه سرچ زدم و در سایت stackoverflow با این کد روبه رو شدم(http://stackoverflow.com/questions/16619065/curl-request-with-asp-net)



string url = "https://YOUR_COMPANY_HERE.beebole-apps.com/api";
string data = "{\"service\":\"absence.list\", \"company_id\":3}";

WebRequest myReq = WebRequest.Create(url);
myReq.Method = "POST";
myReq.ContentLength = data.Length;
myReq.ContentType = "application/json; charset=UTF-8";

string usernamePassword = "YOUR API TOKEN HERE" + ":" + "x";

UTF8Encoding enc = new UTF8Encoding();

myReq.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(enc.GetBytes(usernamePasswo rd)));


using (Stream ds = myReq.GetRequestStream())
{
ds.Write(enc.GetBytes(data), 0, data.Length);
}


WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Response.Write(content);


من برای ارسال پارامترهام به وب سرویس باید از data استفاده کنم و یا از قسمت myreq.header.add.... استفاده کنم؟
لطفا میتونین راهنماییم کنین
ممنونم

debugger
پنج شنبه 20 آذر 1393, 23:35 عصر
عزیزم شما وب سرویس را بنویس اپلود کن رو هاستت و بعد در برنامه ی ویندوزی خودت باید add service refrence بزنی و ادرس وب سرویست را بزنی و به رفرنس ها اضافه بشه .

بقیش دیگه راحته مثل اینکه داری از یک class مشتق یا همون instant میگیری و توابعی که نوشتی را فراخوانی می کنی و جوابشو هم دریافت می کنی

دیگه لازم نیست با مباحث httpwebrequest و post , get و مسایل دیگر درگیر شوی

zrezvani
جمعه 21 آذر 1393, 10:01 صبح
عزیزم شما وب سرویس را بنویس اپلود کن رو هاستت و بعد در برنامه ی ویندوزی خودت باید add service refrence بزنی و ادرس وب سرویست را بزنی و به رفرنس ها اضافه بشه .

بقیش دیگه راحته مثل اینکه داری از یک class مشتق یا همون instant میگیری و توابعی که نوشتی را فراخوانی می کنی و جوابشو هم دریافت می کنی

دیگه لازم نیست با مباحث httpwebrequest و post , get و مسایل دیگر درگیر شوی

از جوابتون ممنونم، اما من میخوام به وب سرویس های درگاه پرداخت الکترونیکی که ارائه میدن وصل بشم، به همین دلیل مجبورم که با این طور مسائل درگیر شم
با این کد تونستم به وب سرویس وصل بشم
فقط متدهایی و که دارم میفرستم و مشکل دارم ،نمیدونم که چه طور باید بفرستمشون
ممکنه در این خصوص راهنماییم کنین؟

debugger
جمعه 21 آذر 1393, 14:31 عصر
درگاه پرداخت الکترونیکی الان همشون برای asp.net وب سرویس دارند . شما باید به وب سرویس اونا وصل بشی و اگه ادرس وب سرویس اونارو نمیدونی باید ازشون بپرسی تا مستندات لازم را در اختیارت قرار دهند .

این روشی که میخوای استفاده کنی کمی سخته احتمال داره کوکی ها را هم هندل کنید و response دریافتی را هم بررسی کنید و ... ممکنه نیاز داشته باشید به فرمت json یا xml داده را بفرستید یا بگیرید

شما همون از وب سرویس استفاده کن

zrezvani
جمعه 21 آذر 1393, 17:49 عصر
اره خیلی کارم سخت شده
ادرس وب سرویس و ازشون گرفتم و توی مستنداتش نوشته بود که بایستی یه سری پارامترها را به وب سرویس ارسال کنم مثل api و ...
و برای این کار بایستی از curl استفاده بشه، البته برای بالا بردن امنیتش
و هیچ توضیحی در مورد چگونگی نحوه ارسال داده نشده

به نظرتون برای حل این مشکل چه کار کنم؟
تا یکشنبه هم باید این کارو حلش کنم
بابت جواب دادنتون خیلی ازتون ممنونم، خیلی لطف میکنین

debugger
جمعه 21 آذر 1393, 21:45 عصر
مستنداتی که در اختیارتون قرار دادند شامل چه فایل هایی هست . و اینکه کدوم بانک هست

به نظر من بهتره از زرین پال یا پی لاین استفاده کنید . که نیاز به کد نویسی ندارند و در عرض کمتر از چند دقیقه پیاده سازی میشوند و محدود به یک درگاه بانک هم نیستند

من یک بار درگاه یکی از بانک ها را گرفتم . کلی ازم مدارک و ... گرفتن . با هزار مصیبت رفتم پیاده سازی کردم . بعد از بیست روز ip سرور بنده عوض شد و درگاه از کار افتاد به بانک گزارش دادم تا ای پی جدید منو ست کنن . 10 روز طول کشید و از شانس بد من دوباره چند روز دیگه مجبور به تغییر ای پی شدیم و دردسر پشت دردسر

دیگه درگاه بانکی را بیخیال شدم رفتم سراغ زرین پال . خیلی خیلی راضی هستم و این مشکلات بالا را هم ندارد

البته من به مباحث httpwebrequest خیلی مسلط هستم و نرم افزار های پیچیده ای هم در این مورد نوشتم . ولی در این مورد توصیه می کنم از وب سرویس به صورت رفرنس استفاده کنید

zrezvani
جمعه 21 آذر 1393, 23:45 عصر
مدیرعاملم به من گفته که باید از این وب سرویس استفاده کنم
برا همین خیلی درگیر این موضوع شدم
من بایستی متغیرهایی مثل api، fname و amount براش بفرستم و فکر میکنم که فقط بانک ملت و داشته باشه

حالا اصلا امکانش هست که با curl من بتونم متغیهامو بفرستم؟
اخه خیلی منبع برای asp با curl کم پیدا کردم