PDA

View Full Version : نحوه اتصال به یک وب سرویس با توکن



mohsen.mkn2
چهارشنبه 29 دی 1400, 13:13 عصر
سلام خدمت برنامه نویسان عزیز
یه api هست که باید با توکن باید بهش وصل شم
مبشه یه آموزش و یا یه لینک آموزشی معرفی کنید در ضمن با c# هم نوشته شده
به گفته برنامه نویس api فقط با c# بهش وصل میشه

mehran6764
چهارشنبه 29 دی 1400, 14:13 عصر
باید برنامه نویس که API رو نوشته نمونه رئکوستی رو که سمت سرور ارسال میشه داخل POSTMAN یا Swagger
براتون بفرسته که بر اساس اون سرچ کنید

مثلا من خودم یه API برای ثبت کاریابی نوشتم که ورودی جیسون دریافت می کنه

آدرس :https://localhost:44329/api/Jobsearch

mehran6764
چهارشنبه 29 دی 1400, 14:18 عصر
حالا میخواییم بر اساس اطلاعاتی که از نرم افزار POSTMAN داریم ((همون عکسی که پست قبل ضمیمه کردیم )) از سی شارپ رئکوست ارسال کنیم

اول یک مدل می سازیم که عناصرش همنام اون پارامترها باشه



public partial class JobsearchTb
{

public int Jobcode { get; set; }
public int Locationsid { get; set; }
public int Shiftwork { get; set; }
public string Startinghours { get; set; }
public string Endtime { get; set; }
public string Description { get; set; }
public string Title { get; set; }
public string Expertise { get; set; }

public string Image1 { get; set; }
public string Image2 { get; set; }
public string Image3 { get; set; }
public string Image4 { get; set; }






}

mehran6764
چهارشنبه 29 دی 1400, 14:23 عصر
حالا فرض کنید میخواییم تو رویداد کلیک یه باتن به اون API مقدار ارسال کنیم (( یا درخواست از نوع POST )) بفرستیم



private void button6_Click(object sender, EventArgs e)
{
JobsearchTb jb = new JobsearchTb();
jb.Jobcode = 1;
jb.Locationsid = 5;
jb.Shiftwork = 1;
jb.Startinghours = "12:50";
jb.Endtime = "14:44";
jb.Expertise = "فوق ارشد";
jb.Title = "تست دیگر";


// ServicePointManager.SecurityProtocol = SecurityProtocolType.;

// ServicePointManager.SecurityProtocol = Tls12;

string json = JsonConvert.SerializeObject(jb);

try
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://localhost:44329/api/Jobsearch");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Headers.Add("Authorization", "Bearer " + "your token");
httpWebRequest.Method = "POST";


using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{


streamWriter.Write(json);
}

var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}

MessageBox.Show(httpResponse.StatusCode.ToString() );
}
catch (Exception ex)
{
while (ex != null)
{
MessageBox.Show(ex.Message);



}
}
// MessageBox.Show(httpResponse.StatusCode.ToString() );
}

mohsen.mkn2
چهارشنبه 29 دی 1400, 14:59 عصر
متاسفانه مشکل من همینه، که توسعه دهنده api میگه که با PostMan نمیشه بهش وصل شد، بگفته خودشون باید با ویندوز فرم C# بهش وصل شد. قسمتی از کد شما هم کپی کردم یکبار پیغام ok داد دوباره کلیک کردم پیغام ssl connection داد.

mehran6764
چهارشنبه 29 دی 1400, 15:15 عصر
لینکی که براش رئکوست ارسال می کنید SSL داره ؟ SSL رایگانه ؟

mohsen.mkn2
چهارشنبه 29 دی 1400, 15:59 عصر
ssl داره دفع اول ok میده

mehran6764
چهارشنبه 29 دی 1400, 16:17 عصر
اگر مساله امنیتی نیست پارامترهای ورودی و آدرس و نوع توکن رو برام ارسال کنید . ببینم می تونم کدشو بزنم ((البته باید بهم زمان بدین))

Amir9189
پنج شنبه 30 دی 1400, 01:19 صبح
میشه بیشتر (https://www.drmofradclinic.com/) توضیح بدین

Amir9189
پنج شنبه 30 دی 1400, 01:47 صبح
بهترین جراح بینی در تهران (https://www.drmofradclinic.com/794/%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%AC%D8%B1%D8%A7%D8%AD-%D8%A8%DB%8C%D9%86%DB%8C-%D8%AF%D8%B1-%D8%AA%D9%87%D8%B1%D8%A7%D9%86/)

farzad.sh
شنبه 14 خرداد 1401, 11:06 صبح
سلام

من می خواستم در سی شارپ یک رشته جیسون به یک API با آدرس مشخص ارسال کنم و پاسخ های مرتبط را نیز دریافت کنم.
داکیومنت های مربوط به این API به شرح فایل پیوست زیر می باشد. تنظیمات فعال سازی API که در ابتدای داکیومنت توضیح داده شده را انجام داده ام. همچنین کتابخانه newtonsoft را نیز اضافه کرده ام.
153812

لطفاً در خصوص ارسال و دریافت جیسون راهنمایی بفرمایید.

تشکر