Mam taki problem, który staram się rozwiązać już od kilku dni.
Mianowicie, gdy Fiddler jest włączony i przechwytuje ruch, moja funkcja (logowanie) działa sprawnie, gdy przechwytywanie wyłącza - zwraca w drugim żądaniu dwa znaki w nieznanym kodowaniu.
Widziałem całkiem sporo takich tematów, ale żadne z rozwiązań nie było pomocne. Jako, że Fiddler "rejestruje" się jak serwer proxy, to próbowałem to wszystko powyłącząć, pousuwać wpisy, itp. Gdy nic więcej nie mogłem zrobić wysłałem program do znajomego - sprawdził - nie działa.
Więc pytanie bardziej brzmi - Co Fiddler robi z moimi wysyłanymi requestami, że są sprawne.
Wstawiłem też zamykanie odpowiedzi (response) metodą Close(), jako, że wcześniej nie miałem, a pierwszy sprawny request wskazywał, na to, że coś po sobie pozostawia (pierwszy request zwraca poprawną odpowiedź, dopiero drugi powoduje zwrócenie tych dwóch znaków).
Aha, ja mówię o requestach, a sam przecież korzystam z całych funkcji, tj.
Funkcja wykorzystywana przy pierwszym requescie:

 
String^ Mail::Http_Get(String^ url)
{
String^ temp;
HttpWebRequest^ request = dynamic_cast<HttpWebRequest
^>;(WebRequest::Create(url));
request->Credentials = CredentialCache::DefaultCredentials;
request->CookieContainer = cookie;
// Allow for redirections
request->AllowAutoRedirect = AllowAutoRedirect_;
// Eccepted Http headers
request->Accept = Accept_;
// Current request method
request->Method = "GET";
// User agent that do request
request->UserAgent = UserAgent_;
//Except 100
ServicePointManager::Expect100Continue = Expect100Continue_;
request->Headers->Add(Ht
tpRequestHeader::KeepAlive, KeepAlive_.ToString());
request->Headers->Add(Ht
tpRequestHeader::AcceptCharset, AcceptCharset_);
request->Headers->Add(Ht
tpRequestHeader::AcceptEncoding, AcceptEncoding_);
request->Headers->Add(Ht
tpRequestHeader::AcceptLanguage, AcceptLanguage_);
request->KeepAlive = KeepAlive_;
HttpWebResponse^ response = dynamic_cast<HttpWebResponse
^>;(request->;GetResponse());
 
if (response->Cookies) cookie->Add(response->Cookies);
 
if (ResponseEncodingCodePage_ != 0)
{
System::Text::Encoding^ anc = System::Text::Encoding::GetEncoding
(ResponseEncodingCodePage_);
System::IO::StreamReader^ sr = gcnew System::IO::StreamReader(response
->;GetResponseStream(), anc);
temp = sr->ReadToEnd();
response->Close();
return temp;
}
else
{
System::IO::StreamReader^ sr = gcnew System::IO::StreamReader(response
->;GetResponseStream());
temp = sr->ReadToEnd();
MessageBox::Show(response->St
atusDescription->;ToString());
response->Close();
return temp;
}
}

Druga funkcja wygląda tak samo tylko pobiera dodatkowo wybrany nagłówek z odpowiedzi.
I gdzie tu jest błąd powodujący poprawne działanie tylko podczas pracy fiddlera ?