Skrobię witrynę za pomocą HttpWebRequest, ale witryna zwraca błąd. Strona działa poprawnie, gdy kliknę ją w przeglądarce. Chciałbym je porównać, aby zobaczyć, co może być przyczyną błędu. Wiem, jak przechwycić żądanie z przeglądarki, aby sprawdzić nagłówki, ale jak wyświetlić dane wysłane przez HttpWebRequest?Jak wyświetlić nagłówki wysłane przez HttpWebRequest
Odpowiedz
W celu porównania tego, co robisz w kodzie i co robi przeglądarka, jestem pewien, że narzędzie do debugowania HTTP, takie jak Fiddler, byłoby najprostszym rozwiązaniem.
Fiddler działa jako pośrednik między klientem a serwerem i wyświetla wszystkie informacje wysyłane za pośrednictwem protokołu HTTP.
Jest możliwe, że będziesz musiał skonfigurować swoją aplikację .NET, aby korzystać z serwera proxy, który zapewnia Fiddler. This blog post dostarcza szczegółowych informacji na ten temat.
http://www.fiddler2.com/fiddler2/ to doskonałe narzędzie do takich rzeczy.
Nie wiem, czy istnieje ogólne rozwiązanie. Ale jeśli używasz przeglądarki Firefox, jeden z dwóch dodatków pomoże: Firebug lub LiveHTTPHeaders.
Panel Net z numerem Firebug wyświetli wszystkie żądania, w tym nagłówki.
EDYCJA: Widziałem, że już wiesz, jak to zrobić w przeglądarce, gdy tylko opublikuję. Wypróbuj właściwość Headers:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.stackoverflow.com");
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Console.WriteLine(response.Headers);
Wiem, jak wyświetlić żądanie z przeglądarki. Chcę wiedzieć, jak zobaczyć, co .NET robi z HttpWebRequest. –
Chcę zobaczyć nagłówki żądań, a nie nagłówki odpowiedzi. Kiedy sprawdzam request.Headers, są puste. Zgaduję, że kolekcja Headers jest używana tylko do określania nagłówków, a nie do sprawdzania, czego zamierza użyć? –
Zaktualizowana za pomocą odpowiedzi w języku C#. HttpWebRequest i HttpWebResponse mają właściwość Headers, która da ci to, czego szukasz. –
Możesz pobrać nagłówki z HTTPWebRequest za pośrednictwem właściwości Headers. Z MSDN: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers.aspx
Tak, ale zobacz komentarze na temat powyższej odpowiedzi Chrisa Doggetta. Nagłówki nie są wypełniane, dopóki wniosek nie zostanie złożony. –
- 1. PHP Warning: nagłówki już wysłane w nieznane
- 2. Nagłówki żądania nie wysłane z pracownika serwisowego
- 3. ServiceStack JsonServiceClient - Niestandardowe nagłówki HTTP nie wysłane
- 4. session_regenerate_id() - nagłówki już wysłane w testowaniu jednostkowym Kontroler Yii
- 5. Zdarzenia wysłane przez serwer w środowisku Play za pomocą Java
- 6. Wysyłanie niestandardowe nagłówki przez RSpec
- 7. Zdarzenia wysłane przez serwer za pomocą AFNetworking
- 8. Jak otrzymać to, co zostało wysłane przez convertAndSend?
- 9. Jak złapać żądanie HTTP POST wysłane przez Shopify Webhook
- 10. Jak wyświetlić nagłówki kolumn w GtkTreeView wewnątrz gtk.ScrolledWindow?
- 11. Brakujące Nieruchomości w HttpWebRequest
- 12. Jak mogę odczytać nagłówki wysłane z mojego interfejsu API z kanciastą?
- 13. Jak naprawić błąd "Nie można wysyłać nagłówków, nagłówki już wysłane" w Zend?
- 14. HttpOnly ciasteczka nie wysłane zamówienie
- 15. Uchwyt pofragmentowane dane wysłane przez Play Scala z angularjs
- 16. jak uczynić HttpWebRequest poprzez Tor
- 17. Jakie nagłówki są automatycznie wysyłane przez wget?
- 18. Zdarzenia wysłane przez serwer - kierowanie odpowiedzi na konkretnych klientów
- 19. Symfony2: Uruchomienie sesji nie powiodło się, ponieważ nagłówki zostały już wysłane.
- 20. Nagłówki buforowania pamięci podręcznej MVC4
- 21. Jak wyświetlić klawiaturę przez naciśnięcie klawisza NSButton?
- 22. Jak wyświetlić zapytanie wykonane przez widok Drupala
- 23. Jak wyświetlić elementy na płótnie przez powiązanie
- 24. Jak wyświetlić VTABLE klasy C++ przez GCC?
- 25. Jak wyświetlić "Zrzut ekranu: dostępny przez ekran"?
- 26. Jak zmienić nagłówki żądania?
- 27. Codeigniter: Wiadomość: Nie można zmodyfikować informacji nagłówka - nagłówki już wysłane (wyjście z
- 28. HttpWebRequest Port Wyczerpanie
- 29. Zdarzenia wysłane przez serwer i szyny przesyłane strumieniowo
- 30. Zdarzenia wysłane przez serwer przekazują parametr za pomocą metody poczty
Wiem, jak wyświetlić żądanie z przeglądarki. Chcę wiedzieć, jak zobaczyć, co .NET robi z HttpWebRequest. –