0
我試圖用C#重複瀏覽器後請求,但直到現在我的C#代碼沒有給出預期的結果。
正確的代碼應該是什麼?什麼是正確的C#後請求代碼
來自Firebug的一些關於請求的信息。
頭:
Host:"test-url:8080"
User-Agent:"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
Accept-Language:"ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"
Accept-Encoding:"gzip, deflate"
Referer:"http://test-url:8080/Emul/report.jsp?type=1"
Cookie:"JSESSIONID=31DF4BFA5ECA4014EE091774D0719AC0"
Connection:"keep-alive"
Upgrade-Insecure-Requests:"1"
PARAMS:
Content-Type: multipart/form-data; boundary=---------------------------1987383936223
Content-Length: 5641
-----------------------------1987383936223
Content-Disposition: form-data; name="type"
1
-----------------------------1987383936223
Content-Disposition: form-data; name="file"; filename="409474.xml"
Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<prequest>
...
</prequest>
-----------------------------1987383936223
Content-Disposition: form-data; name="upload"
Upload
-----------------------------1987383936223--
我的C#-code
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http:/test-url:8080/Emul/report.jsp");
// here prequest-xml is contained
var bytes = File.ReadAllBytes(@"C:\NBCH\1.xml");
request.ContentLength = bytes.Length;
request.KeepAlive = true;
request.Method = "POST";
request.ContentType = "text/xml; encoding='utf-8'";
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
response = (HttpWebResponse)request.GetResponse();