C# i HTTP

0

Pytanie 1: Jak wysłać żądanie HTTP(S) do serwera w C#? Zależy mi na tym, aby był dostęp do statusu odpowiedzi, dało się pobrać dane z headera, i, co ważne aby można było wysłać również żądanie HTTPS. Jakby ktoś miał jeszcze jakiś tutorial na temat używania sieci w C# to by było super.
Pytanie 2: Jak dołączyć do projektu C# zewnętrze biblioteki, np. Tidy.NET?
Pytanie 3: Jak sparsować dokument XML i JSON w C#?
Pytanie 4: Jak utworzyć coś w rodzaju swojego header file z C++ w którym bym miał swoje metody do wykorzystania w różnych plikach *.cs ale w C# (nie chodzi mi o importowanie headerów z C++ do C#)
Pytanie 5: Jak poprawnie definiować swoje metody w Windows Forms
Pytanie 6 (ostatnie :D): W C# jest mnóstwo typów, i np. taka klasa HttpClient ma metodę która wysyła żądanie GET (nie pamiętam jak się nazywa) zwraca typ którego składową jest Status. Myślę sobie: "super, mam dostęp do statusu", ale co się okazuje? Że ma ona jakiś dziwny typ i nie wiem co z tym zrobić. Tak samo nie wiem jak dostać się do ciała odpowiedzi. Ogólnie chodzi mi o zgodność typów. Jest ich mnóstwo i nie wiem jak je konwertować. W C++ tego nie ma więc proszę o zrozumienie.

Wiem że tego dużo, ale przenoszę się z C++ do C# i po prostu chcę "przepisać" swój program w C++ który właśnie ma wysyłać żądania HTTP(S) (niestety nie działa bo biblioteka nie obsługuje HTTPS)

1

Pytanie 1:
Zapewne poprzez jakąś bibliotekę

Pytanie 2:
Klikasz prawym przyciskiem myszy na solucję, wchodzisz w NuGet Manager i szukasz zewnętrznych bibliotek, po czym dajesz "install". Innym sposobem jest edycja pliku cs.proj (prawym na solucję -> edytuj plik cs.proj) i dodaniu pakietu ręcznie.

Pytanie 3:
https://docs.microsoft.com/pl-pl/dotnet/api/system.xml.linq.xelement.parse?view=netcore-3.1
https://stackoverflow.com/questions/6620165/how-can-i-parse-json-with-c

Pytanie 5:
modyfikator nazwa metody (ewentualne parametry)
{
ciało metody
}

Pytanie 6:
deklarujesz zmienną jako typ var i to, co jest przypisywane do zmiennej dostosowuje się pod typ zwracanego obiektu

0

Ok, a co do parsera XML to w tym linku nic nie znalazłem. Chodzi mi o parsowanie a nie formatowanie. Chcę z dokumentu XML wyciągnąć dane. — Kamil B 20 minut temu

Są dwa (i pół) ujęcia.

  • Jak w C# myślimy "parser XML" tzn nie mamy jakiegoś wymogu, co w nim jest. Dostajemy drzewo elementów i/lub zdarzenia, i po stringach "radź sobie sam"
  • jak wiemy dobrze, czego się spodziewać, przygotowujemy klasy do których dane mają pasować, i to już się nazywa deserializacja. O wiele wygodniejsze i type-safe, używa się klasy XmlSerializer
  • jak XML jest naprawdę profesjonalny, m.in. ma ścisłą schemę, to te klasy można wygenerować automatycznie xsd
0

Jako że ta opcja nie została podana

1 - może RestSharp? dość przyjemny.

1

Pytanie 1: Jak wysłać żądanie HTTP(S) do serwera w C#? Zależy mi na tym, aby był dostęp do statusu odpowiedzi, dało się pobrać dane z headera, i, co ważne aby można było wysłać również żądanie HTTPS. Jakby ktoś miał jeszcze jakiś tutorial na temat używania sieci w C# to by było super.

HttpClient.

Pytanie 4: Jak utworzyć coś w rodzaju swojego header file z C++ w którym bym miał swoje metody do wykorzystania w różnych plikach *.cs ale w C# (nie chodzi mi o importowanie headerów z C++ do C#)

Nie rozumiem pytania (ale też nie znam się na C++) - zrób sobie klasę ze swoimi metodami i potem w całym swoim programie możesz z niej korzystać. I przestań myśleć o plikach - w C# nie ma (generalnie) znaczenia czy coś jest w jednym pliku czy w dwudziestu.

Pytanie 5: Jak poprawnie definiować swoje metody w Windows Forms

Nie robić za dużo w obsłudze zdarzeń - logikę powinieneś trzymać w oddzielnych klasach.

0

Ok, dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1