kzen.dev
  • Frågor
  • Taggar
  • Användare
Meddelanden
Belöningar
Registrering
När du har registrerat dig kommer du att få information om svar och kommentarer på dina frågor.
Logga in
Om du redan har ett konto loggar du in för att kontrollera nya meddelanden.
Det kommer att finnas belöningar för frågor, svar och kommentarer.
Mer
Källa
Redigera
 NullVoxPopuli
NullVoxPopuli
Question

Hur gör jag anrop till ett REST-api med hjälp av C#?

Detta är den kod jag har hittills:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;
using System.Net.Http;
using System.Web;
using System.Net;
using System.IO;

namespace ConsoleProgram
{
    public class Class1
    {
        private const string URL = "https://sub.domain.com/objects.json?api_key=123";
        private const string DATA = @"{""object"":{""name"":""Name""}}";

        static void Main(string[] args)
        {
            Class1.CreateObject();
        }

        private static void CreateObject()
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
            request.Method = "POST";
            request.ContentType = "application/json"; 
            request.ContentLength = DATA.Length;
            StreamWriter requestWriter = new StreamWriter(request.GetRequestStream(), System.Text.Encoding.ASCII);
            requestWriter.Write(DATA);
            requestWriter.Close();

             try {
                WebResponse webResponse = request.GetResponse();
                Stream webStream = webResponse.GetResponseStream();
                StreamReader responseReader = new StreamReader(webStream);
                string response = responseReader.ReadToEnd();
                Console.Out.WriteLine(response);
                responseReader.Close();
            } catch (Exception e) {
                Console.Out.WriteLine("-----------------");
                Console.Out.WriteLine(e.Message);
            }

        }
    }
}

Problemet är att jag tror att undantagsblocket utlöses (för när jag tar bort try-catch får jag ett serverfelmeddelande (500). Men jag ser inte de Console.Out-rader som jag satte in i catch-blocket.

Min Console:


Tråden 'vshost.NotifyLoad' (0x1a20) har avslutats med kod 0 (0x0).
Tråden '<No Name>' (0x1988) har avslutats med kod 0 (0x0).
Tråden 'vshost.LoadReference' (0x1710) har avslutats med kod 0 (0x0).
'ConsoleApplication1.vshost.exe' (Hanterad (v4.0.30319)): Laddat 'c:\users\l. preston sego iii\documents\visual studio 11\Projects\ConsoleApplication1\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe', symboler laddade.
'ConsoleApplication1.vshost.exe' (Hanterad (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll', Skipped loading symbols. Modulen är optimerad och felsökningsalternativet 'Just My Code' är aktiverat.
Ett förstahandsundantag av typen 'System.Net.WebException' inträffade i System.dll
Tråden 'vshost.RunParkingWindow' (0x184c) har avslutats med kod 0 (0x0).
Tråden '<No Name>' (0x1810) har avslutats med kod 0 (0x0).
Programmet '[2780] ConsoleApplication1.vshost.exe: Program Trace' har avslutats med kod 0 (0x0).
Programmet '[2780] ConsoleApplication1.vshost.exe: Managed (v4.0.30319)' har avslutats med kod 0 (0x0).
```

Jag använder Visual Studio 2011 Beta och .NET 4.5 Beta.
302 2012-03-08T15:35:01+00:00 3
 djv
djv
Redigerad fråga 2019ör augusti 2019 в 2:31
Programmering
rest
api
c#
Popular videos
1.4: JSON - Working with Data and APIs in JavaScript
1.4: JSON - Working with Data and APIs in JavaScript
för 4 år sedan
.NET 5 REST API Tutorial - Build From Scratch With C#
.NET 5 REST API Tutorial - Build From Scratch With C#
för 1 år sedan
Testuj REST: 1. Zoznamujeme sa s API
Testuj REST: 1. Zoznamujeme sa s API
för 3 år sedan
Calling REST API in C# console Application | Read JSON Data | part 1
Calling REST API in C# console Application | Read JSON Data | part 1
för 2 år sedan
What is a REST API?
What is a REST API?
för 5 år sedan
How to Send HTTP Request and Parse JSON Data Using Java
How to Send HTTP Request and Parse JSON Data Using Java
för 4 år sedan
REST API concepts and examples
REST API concepts and examples
för 8 år sedan
APIs for Beginners - How to use an API (Full Course / Tutorial)
APIs for Beginners - How to use an API (Full Course / Tutorial)
för 3 år sedan
Build REST API with C# and Entity Framework Core Database First Approach
Build REST API with C# and Entity Framework Core Database First Approach
för 1 år sedan
Step by Step Tutorial: POSTing to a REST API using c# Windows Client
Step by Step Tutorial: POSTing to a REST API using c# Windows Client
för 5 år sedan
Step by Step Tutorial - Authenticating to a REST API in c#
Step by Step Tutorial - Authenticating to a REST API in c#
för 6 år sedan
How To Call An API in C# - Examples, Best Practices, Memory Management, and Pitfalls
How To Call An API in C# - Examples, Best Practices, Memory Management, and Pitfalls
för 4 år sedan
How to Call External API in C#
How to Call External API in C#
för 4 år sedan
Create Your First Web API Using Visual Studio With C# Beginners Guide
Create Your First Web API Using Visual Studio With C# Beginners Guide
för 3 år sedan
Step by Step Tutorial - C# REST Client
Step by Step Tutorial - C# REST Client
för 6 år sedan
Vad är ett API? Hur du anropar ett API i Python
Vad är ett API? Hur du anropar ett API i Python
för 3 år sedan
Hosting a REST API with a Cloud Firestore backend
Hosting a REST API with a Cloud Firestore backend
för 2 år sedan
RestSharp,Automate REST API .Net C#
RestSharp,Automate REST API .Net C#
för 2 år sedan
Rest API with ionic3
Rest API with ionic3
för 5 år sedan
Step by Step - REST API Testing From Visual Studio the Easy Way!  Part 1 of 2
Step by Step - REST API Testing From Visual Studio the Easy Way! Part 1 of 2
för 4 år sedan
Building REST API with .NET 6
Building REST API with .NET 6
för 1 år sedan
Tutorial 28- Create CNN Model Using Transfer Learning using Vgg 16, Resnet
Tutorial 28- Create CNN Model Using Transfer Learning using Vgg 16, Resnet
för 3 år sedan
Lets BUILD a Travel Company REST API using C#, ASP.NET Core, Entity Framrework Core, add Pagination
Lets BUILD a Travel Company REST API using C#, ASP.NET Core, Entity Framrework Core, add Pagination
för 2 år sedan
ASP NET Core REST API DbContext
ASP NET Core REST API DbContext
för 3 år sedan
REST Client C# Console Part 1 (GET)
REST Client C# Console Part 1 (GET)
för 6 år sedan
How do I resolve a CORS error for my API Gateway REST API?
How do I resolve a CORS error for my API Gateway REST API?
för 1 år sedan
Intro to WebAPI - One of the most powerful project types in C#
Intro to WebAPI - One of the most powerful project types in C#
för 5 år sedan
What is an API and how do you design it? 🗒️✅
What is an API and how do you design it? 🗒️✅
för 4 år sedan
.NET Core 3.1 MVC REST API - Full Course
.NET Core 3.1 MVC REST API - Full Course
för 3 år sedan
.NET 5 REST API Tutorial
.NET 5 REST API Tutorial
för 1 år sedan
create json web service using c# rest services tutorial
create json web service using c# rest services tutorial
för 7 år sedan
How to Call REST API from React
How to Call REST API from React
för 3 år sedan
« Föregående
Nästa »
Den här frågan har 1 svar på engelska, för att läsa dem logga in på ditt konto.
Justin Pihony
Justin Pihony
2012ör mars 2012 в 3:40
2012-03-08T15:40:08+00:00
Mer
Källa
Redigera
#15629213

Mitt förslag är att använda RestSharp. Du kan göra anrop till REST-tjänster och få dem omvandlade till POCO-objekt med mycket lite koder för att faktiskt analysera svaret. Detta löser inte ditt specifika fel, men svarar på din övergripande fråga om hur man gör anrop till REST-tjänster. Att behöva ändra koden för att använda den bör ge resultat i form av användarvänlighet och robusthet i framtiden. Detta är bara mina två cent.

117
0
Jesse  C. Slicer
Jesse C. Slicer
2012ör mars 2012 в 3:45
2012-03-08T15:45:57+00:00
Mer
Källa
Redigera
#15629215

Det har säkert inget med saken att göra, men omsluta dina IDisposable-objekt i using-block för att se till att du gör dig av med dem på rätt sätt:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System;
using System.Web;
using System.Net;
using System.IO;

namespace ConsoleProgram
{
    public class Class1
    {
        private const string URL = "https://sub.domain.com/objects.json?api_key=123";
        private const string DATA = @"{""object"":{""name"":""Name""}}";

        static void Main(string[] args)
        {
            Class1.CreateObject();
        }

        private static void CreateObject()
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
            request.Method = "POST";
            request.ContentType = "application/json";
            request.ContentLength = DATA.Length;
            using (Stream webStream = request.GetRequestStream())
            using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.ASCII))
            {
                requestWriter.Write(DATA);
            }

            try
            {
                WebResponse webResponse = request.GetResponse();
                using (Stream webStream = webResponse.GetResponseStream() ?? Stream.Null)
                using (StreamReader responseReader = new StreamReader(webStream))
                {
                    string response = responseReader.ReadToEnd();
                    Console.Out.WriteLine(response);
                }
            }
            catch (Exception e)
            {
                Console.Out.WriteLine("-----------------");
                Console.Out.WriteLine(e.Message);
            }

        }
    }
}
Jesse  C. Slicer
Jesse C. Slicer
Redigerat svar 2018ör november 2018 в 2:35
32
0
 dice
dice
2012ör mars 2012 в 3:45
2012-03-08T15:45:15+00:00
Mer
Källa
Redigera
#15629214

Eftersom du använder Visual Studio 11 Beta vill du använda den senaste och bästa versionen. Det nya Web Api innehåller klasser för detta.

Se HttpClient: http://wcf.codeplex.com/wikipage?title=WCF%20HTTP

Jeff LaFay
Jeff LaFay
Redigerat svar 2016ör september 2016 в 3:38
0
0
Lägg till en fråga
Kategorier
Alla
Teknik
Kultur / fritid
Livet / Konst
Vetenskap
Professionell
Företag
Användare
Alla
Ny
Populära
1
Daniel Gogov
Registrerad för 6 dagar sedan
2
工藤 芳則
Registrerad för 1 vecka sedan
3
Ирина Беляева
Registrerad för 2 veckor sedan
4
Darya Arsenyeva
Registrerad för 2 veckor sedan
5
anyta nuam-nuam (LapuSiK)
Registrerad för 2 veckor sedan
DE
EL
ES
FR
ID
IT
JA
LT
NL
NO
PL
PT
RO
SV
TR
ZH
© kzen.dev 2023
Källa
stackoverflow.com
under licens cc by-sa 3.0 med angivande av