현재 ASP를 ASP로 포팅하려고하고 있습니다. 그러나 벽을 치고 이것으로 손이 필요합니다.전체 POST 데이터를 ASP.NET의 파일에 덤프하는 방법
나는 파일에 POST를 통해 모든 데이터에서 .aspx 접수가 덤프해야하지만 나는이
어떤 아이디어를 수행하는 방법에 대한 단서가 없다?
현재 ASP를 ASP로 포팅하려고하고 있습니다. 그러나 벽을 치고 이것으로 손이 필요합니다.전체 POST 데이터를 ASP.NET의 파일에 덤프하는 방법
나는 파일에 POST를 통해 모든 데이터에서 .aspx 접수가 덤프해야하지만 나는이
어떤 아이디어를 수행하는 방법에 대한 단서가 없다?
Re의 InputStream 속성을 사용할 수 있습니다. 퀘스트 개체. 그러면 http 요청의 원시 데이터가 제공됩니다. 일반적으로 이것을 사용자 정의 http 핸들러로 할 수도 있지만 언제든지 할 수 있다고 생각합니다.
if (Request.RequestType == "POST")
{
using (StreamReader reader = new StreamReader(Request.InputStream))
{
// read the stream here using reader.ReadLine() and do your stuff.
}
}
가장 좋은 방법은 Fiddler 또는 LiveHttpHeaders (Firefox 만 해당)과 같은 일부 브라우저 플러그인을 사용하는 것입니다. 그런 다음 원시 POST 데이터를 인터셉트 할 수 있습니다.
당신은 요청 본문에서 읽을BinaryRead
을 사용할 수 있습니다
: 당신이 입력 Stream
객체에 대한 참조를 얻을 수
Request.BinaryRead
또는 그런 다음
Request.InputStream
을 당신은 사용할 수 CopyStream
:
using (FileStream fs = new FileStream(...))
CopyStream(fs, Request.InputStream);
POST 데이터 만 있으면 Request.Form.ToString()을 사용하여 URL 인코딩 방식으로 모든 데이터를 가져올 수 있습니다.
if (Request.RequestType == "POST") {
string myData = Request.Form.ToString();
writeData(myData); //use the string to dump it into a file,
}
이제 .NET 4.0에는'Stream.CopyTo()'메소드가 있습니다. – spoulson