下面这段代码,在没有提交文件的时候,一切正常,但需要提交文件的时候,就无能为力了,请高手解答
CookieContainer cookieContainer = new CookieContainer(); // 声明CookieContainer对象 // 登录网站
HttpWebRequest loginHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
loginHttpWebRequest.CookieContainer = cookieContainer; // 给HttpWebRequest指定CookieContainer byte[] byteRequest = Encoding.Default.GetBytes(postData);
loginHttpWebRequest.ContentType = contentType;
loginHttpWebRequest.Referer = url;
loginHttpWebRequest.Accept = accept;
loginHttpWebRequest.UserAgent = userAgent;
loginHttpWebRequest.Method = "POST";
loginHttpWebRequest.ContentLength = byteRequest.Length; Stream stream = loginHttpWebRequest.GetRequestStream();
stream.Write(byteRequest, 0, byteRequest.Length);
stream.Close(); //获得返回的数据
HttpWebResponse httpWebResponse = (HttpWebResponse)loginHttpWebRequest.GetResponse();
Stream responseStream = httpWebResponse.GetResponseStream();
StreamReader streamReader = new StreamReader(responseStream, Encoding.Default);
string html = streamReader.ReadToEnd();
streamReader.Close();
responseStream.Close();HTML代码如下:(把一些没用的都精简掉了)<form name="form1" id="form1" action="http://www.aa.com/login.htm" enctype="multipart/form-data" method="post">
<input type="text" name="username" id="user_username" value="" size="25" />
<input type="password" name="password" id="user_password" size="25" />
<input type="file" value="浏览.." size="50" name="uploadFile1" id="uploadFile1"/>
<input type="file" value="浏览.." size="50" name="uploadFile2" id="uploadFile2"/>
<input type="file" value="浏览.." size="50" name="uploadFile3" id="uploadFile3"/>
<input type="file" value="浏览.." size="50" name="uploadFile4" id="uploadFile4"/>
<input type="submit" name="sendButton" value="发送留言单" />
</form>照上面的HTML代码,我需要的是在WINFORM中,POST模拟提交
四个文件,可以一个也不选,也可以全选
谢谢
CookieContainer cookieContainer = new CookieContainer(); // 声明CookieContainer对象 // 登录网站
HttpWebRequest loginHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
loginHttpWebRequest.CookieContainer = cookieContainer; // 给HttpWebRequest指定CookieContainer byte[] byteRequest = Encoding.Default.GetBytes(postData);
loginHttpWebRequest.ContentType = contentType;
loginHttpWebRequest.Referer = url;
loginHttpWebRequest.Accept = accept;
loginHttpWebRequest.UserAgent = userAgent;
loginHttpWebRequest.Method = "POST";
loginHttpWebRequest.ContentLength = byteRequest.Length; Stream stream = loginHttpWebRequest.GetRequestStream();
stream.Write(byteRequest, 0, byteRequest.Length);
stream.Close(); //获得返回的数据
HttpWebResponse httpWebResponse = (HttpWebResponse)loginHttpWebRequest.GetResponse();
Stream responseStream = httpWebResponse.GetResponseStream();
StreamReader streamReader = new StreamReader(responseStream, Encoding.Default);
string html = streamReader.ReadToEnd();
streamReader.Close();
responseStream.Close();HTML代码如下:(把一些没用的都精简掉了)<form name="form1" id="form1" action="http://www.aa.com/login.htm" enctype="multipart/form-data" method="post">
<input type="text" name="username" id="user_username" value="" size="25" />
<input type="password" name="password" id="user_password" size="25" />
<input type="file" value="浏览.." size="50" name="uploadFile1" id="uploadFile1"/>
<input type="file" value="浏览.." size="50" name="uploadFile2" id="uploadFile2"/>
<input type="file" value="浏览.." size="50" name="uploadFile3" id="uploadFile3"/>
<input type="file" value="浏览.." size="50" name="uploadFile4" id="uploadFile4"/>
<input type="submit" name="sendButton" value="发送留言单" />
</form>照上面的HTML代码,我需要的是在WINFORM中,POST模拟提交
四个文件,可以一个也不选,也可以全选
谢谢
解决方案 »
- 超大规模的数组申请或二者替代方法
- C#做界面时使用DevExpress的chartcontrol控件绘制柱状图出现的问题
- 100分 急求 CRC-16位 (虽然分很少,我也没有多余的分了)
- 怎样DataGrid的一列数据前显示一个小图片?以及WINFORM中DataGrid怎样实现分页
- 紧急!紧急!紧急!.net下做的网页问题,望高手指教~~~~~~~~~
- 请问怎么在C#.net里 跳出提示框 例如 跳出"用户名错误"的提示框
- TcpClient.Close()的问题
- 解析xml文件
- 多线程Socket下载文件
- 请问我如何绘制上屏幕的鼠标呢?????
- 请教一个关于Socket通讯的问题,谢谢
- 在C# WINFORM中,如何能设置控件的ID值?
String uriString = "";
WebClient myWebClient = new WebClient();
string fileName = @"C:\a.txt";
byte[] responseArray = myWebClient.UploadFile(uriString,"POST",fileName);
参考
你的参考网址我看过,这种方法只能传文件,我同时还需要传几个参数过去,这种办法就无能为力了,
而且,
loginHttpWebRequest.CookieContainer = cookieContainer;
我这里需要验证cookie,webclient好象没有cookie,除非我重写个
最主要还是需要文件和参数一起传不知道怎么搞
不过还是多谢了