WebRequest + Headers + ThrowOnRestrictedHeader :/

problemy z tworzeniem programów do obsługi sieci, internetu, e-mail itp..

WebRequest + Headers + ThrowOnRestrictedHeader :/

Nowy postprzez Slynx » sobota, 9 kwietnia 2011, 23:15

No i skończyła się zabawa, zaczynają się schody :D
Niektóre serwery z którymi "rozmawiam" (request + response) oczekują dość nietypowych nagłówków, które nie są dostępne w hmm... liście akceptowanych nagłówków, jeśli tak można to nazwać, natomiast próba dodania na własną rękę kończy się:

System.ArgumentException: Nagłwek ten musi być zmodyfikowany przy użyciu odpowiedniej wartości.
Nazwa parametru: name
w System.Net.WebHeaderCollection.ThrowOnRestrictedHeader(String headerName)
w System.Net.WebHeaderCollection.Add(String name, String value)
w Project1.Project1_Classes.MailBox.Http_Post(String url, String post_data, String header_type, String* out_header) w e:\Project1 project\Project1\Project1\mailbox.cpp:wiersz 146
w Project1.Project1_Mailboxes.Wp.Create(String login, String password) w e:\Project1 project\Project1\Project1\wp.cpp:wiersz 73


Można to jakoś obejść (bez opcji ręcznego zapisywania wszystkiego od zera do strumienia) ? Wyłączyć sprawdzanie nagłówków, czy coś w tym stylu ?;/
Bez tych dodatkowych nagłówków serwer nie akceptuje requesta :/
Ostatnio edytowano niedziela, 10 kwietnia 2011, 09:06 przez Cyfrowy Baron, łącznie edytowano 1 raz
Powód: Dla komunikatów błędów jest tag [error] błąd [/error]
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: WebRequest + Headers + ThrowOnRestrictedHeader :/

Nowy postprzez polymorphism » niedziela, 10 kwietnia 2011, 10:19

Przez 'nagłówek' rozumiesz atrybut/pole nagłówka zapytania/odpowiedzi HTTP, tak? (zresztą, chyba Ci już tłumaczyłem co jest czym)

No, jeśli serwer wymaga tych wartości, to musisz je dostarczyć, i tyle.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: WebRequest + Headers + ThrowOnRestrictedHeader :/

Nowy postprzez Slynx » niedziela, 10 kwietnia 2011, 10:54

No tyle to ja wiem, że muszę. Pytanie jednak brzmiało trochę inaczej. Czy jest jakiś sposób by mu o podrzucić tak by tego nie sprawdzał, czyli nie wyrzucił "ThrowOnRestrictedHeader".
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: WebRequest + Headers + ThrowOnRestrictedHeader :/

Nowy postprzez polymorphism » niedziela, 10 kwietnia 2011, 11:05

W sumie to nie wiem, o co pytasz. O to, jak 'oszukać' serwer, czy może po prostu jak wyłapać wyjątek ThrowOnRestrictedHeader?
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: WebRequest + Headers + ThrowOnRestrictedHeader :/

Nowy postprzez Slynx » niedziela, 10 kwietnia 2011, 11:30

Nie, nie nie, chwilka. Chyba nie zrozumiałeś. Tu nie chodzi o serwer, ale o funkcje .NET-owe. Chodzi dokładnie o to, że zanim mogę wysłać requesta funkcja sprawdza czy nagłówki (lub jak wolisz - pola), które dodałem do wysyłki znajdują się na jego liście akceptowanych(nie wiem jak to się dokładnie nazywa). Czyli o to, że nagłówka "Origin", nie ma na tej liście, co przy sprawdzaniu wyrzuca właśnie błąd ThrowOnRestrictedHeader, jeszcze przed wysłaniem. I tego chcę się pozbyć. Żeby po prostu mi tego nie sprawdzał, czy to co wysyłam jest kompatybilne (zgodne) ze standardami czy nie.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: WebRequest + Headers + ThrowOnRestrictedHeader :/

Nowy postprzez polymorphism » niedziela, 10 kwietnia 2011, 11:49

Ok, już rozumiem. Czy nie próbujesz przypadkiem ustawiać wartości atrybutom, które są dostępne przez właściwości (property) klasy?
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: WebRequest + Headers + ThrowOnRestrictedHeader :/

Nowy postprzez Slynx » niedziela, 10 kwietnia 2011, 11:52

Nie, sprawdzałem.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: WebRequest + Headers + ThrowOnRestrictedHeader :/

Nowy postprzez Slynx » niedziela, 10 kwietnia 2011, 13:18

Wydaje mi się, że jednak można to pominąć. Teraz doszedłem do momentu, w którym w odpowiedzi dostaje "Sesja wygasła". Nie za bardzo rozumiem, bo dostaje wszystkie ciasteczka zebrane wcześniej z informacjami o sesji, itp, a mimo to taka odpowiedź :/
Będę musiał trochę poszukać, gdzie może leżeć błąd. Jak znajdę to napiszę. Wtedy się okaże, że te dodatkowe nagłówki (pola) nie były potrzebne.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: WebRequest + Headers + ThrowOnRestrictedHeader :/

Nowy postprzez Slynx » niedziela, 10 kwietnia 2011, 15:02

Chyba znalazłem. Gdy wyczyściłem cache przeglądarki i ponownie przeanalizowałem wszystko, okazało się, że gdzieś pomiędzy tymi html-ami przepychany jest jakiś obrazek (GIF 1x1), który (jak potem sprawdziłem) ustawiał dodatkowe ciasteczko na pewną wartość, KTÓRA to już wartość w ogóle nie była zmieniana, a jedynie wysyłana przy ostatnim POST-cie, w którym to miałem błąd.
Nie wiem czy to to powodowało błąd, ale gdy już uda mi się to wszystko wygrzebać i ponownie poskładać w odpowiedniej formie - dam znać.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome


Powrót do Aplikacje sieciowe

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 2 gości