作者senjor (哞哞)
看板C_Sharp
標題[問題] 關於POST該輸入的參數
時間Sat Jun 30 17:57:16 2007
小弟今天要對一個網頁傳送POST
利用fiddler抓到TEXTVIEW如下
-----------------------------7d719c1f806fa
Content-Disposition: form-data; name="configfile"
/usr/opt/www/pub/CBS/services/NetPhos-2.0/NetPhos.cf
-----------------------------7d719c1f806fa
Content-Disposition: form-data; name="SEQPASTE"
<KLVDTANFDDYMKALGVGFATRQMAGLTKEISFKLDEEFDETTADDRHVKKLILTLTMGNVVSTRTYPTTI
-----------------------------7d719c1f806fa
Content-Disposition: form-data; name="SEQSUB"; filename=""
Content-Type: application/octet-stream
那我程式碼如下
HttpWebRequest myHttpWebRequest =
(HttpWebRequest)WebRequest.Create("
http://www.cbs.dtu.dk/services/NetPhos/");
myHttpWebRequest.Method = "POST";
string postData =
"-----------------------------7d732224806fa\nContent-Disposition: form-data;
name=\"configfile\"\n\n/usr/opt/www/pub/CBS/services/NetPhos-2.0/NetPhos.cf\n-----------------------------7d732224806fa\nContent-Disposition:
form-data;
name=\"SEQPASTE\"\n<KLVDTANFDDYMKALGVGFATRQMAGLTKEISFKLDEEFDETTADDRHVKKLILTLTMGNVVSTRTYPTTI\n-----------------------------7d732224806fa\nContent-Disposition:
form-data; name=\"SEQSUB\"; filename=\"\"\nContent-Type:
application/octet-stream";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byte1 = encoding.GetBytes(postData);
myHttpWebRequest.ContentType = "multipart/form-data";
myHttpWebRequest.ContentLength = byte1.Length;
Stream newStream = myHttpWebRequest.GetRequestStream();
newStream.Write(byte1, 0, byte1.Length);
MessageBox.Show("The value of 'ContentLength' property after
sending the data is "+ myHttpWebRequest.ContentLength);
newStream.Close();
HttpWebResponse myResp =
(HttpWebResponse)myHttpWebRequest.GetResponse();
StreamReader myReader = new
StreamReader(myResp.GetResponseStream());
webBrowser1.DocumentText = myReader.ReadToEnd();
其實我不確定的是
POSTDATA裡面到底要裝什麼
要怎麼表達我要傳送的變數名稱跟內容呢
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.70.85.138
推 seagal:Post裡面裝的應該是name=value的pair 06/30 21:55
→ seagal:ex. SEQPASTE=XXXXX 06/30 21:56
推 ddavid:Name1=Val1&Name2=Val2&Name3=Val3這樣 06/30 23:03
→ ddavid:你需要讀下來之後自己再用程式去把它一個個分離 06/30 23:03
→ ddavid:同時像空白之類會被轉換掉的特殊字元你也要自行還原 06/30 23:04
推 senjor:我知道了!因為MSDN都沒有格式解說,感謝樓上兩位大大 XD 06/30 23:24