웹 응답의 내용을 읽으려면 어떻게해야합니까? 나는 FiddlerCore를 사용하여 응답을 조사했다. 올바른 요청 및 응답을 분리 할 수 있습니다. 하지만 나는 보내고있는 파일의 헤더만을 얻을 수있다. 나는 그 내용이 필요하다. AfterSessionComplete-method에서는 항상 비어 있습니다. OnReadResponseBuffer-method에는 바이너리 데이터가있는 것 같습니다. 헤더에 표시된대로 gzip 된 것일 수 있습니까? 응답의 내용을 읽는 방법에 대한 아이디어. 피들러를 사용하지 않는 아이디어도 환영합니다. UTF8.GetString()
를 사용웹 응답의 내용을 읽으려면 어떻게해야합니까?
void FiddlerApplication_AfterSessionComplete(Fiddler.Session oSession)
{
listBox1.Invoke(new UpdateUI(() =>
{
if (oSession.PathAndQuery.Contains("mobj.php"))
{
listBox1.Items.Add(" " + oSession.fullUrl);
byte[] body = oSession.ResponseBody;
string body_string = System.Text.Encoding.UTF8.GetString(body); // always empty
}
}));
}
static void FiddlerApplication_OnReadResponseBuffer(object sender, RawReadEventArgs e)
{
string bla = "";
if (e.sessionOwner.fullUrl.Contains("mobj.php"))
bla = System.Text.Encoding.UTF8.GetString(e.arrDataBuffer);
}
FiddlerCore를 사용해야하는 이유가 있습니까? System.Net.Http.HttpClient를 사용하면 훨씬 간단 해집니다. –
"피들러를 사용하지 않는 아이디어도 환영합니다"- 피들러를 사용하여 실제 요청/응답을 변경하는 경우 해당 객체를 사용하면 어떻게 도움이 될지 모르겠습니다. 하지만 일반적인 웹 스크래핑을하고 있다면 정규 수업이 좋습니다. HTTP 트래픽을보아야하는지 아니면 특정 요청이 특정 응답을 얻는 지 확인해야하는지 명확히하십시오 ('WebClient' 클래스는 쉬운 방법입니다). –
웹 사이트가 동적으로 생성됩니다. 내가 바라는 요청은 자바 스크립트 코드가 URL을 생성 한 후에로드됩니다. 그래서 WebBrowser 컨트롤을 사용하고 피들러를 청취자로 추가하기로했습니다. –