|

楼主 |
发表于 2013-12-20 20:35:33
|
显示全部楼层
删除所传的参数后,没有报错信息.为什么我带参数POST过去就会报406的错误呢?抓包信息如下:
- Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- Accept-Charset:
GBK,utf-8;q=0.7,*;q=0.3
- Accept-Encoding:
gzip,deflate,sdch
- Accept-Language:
zh-CN,zh;q=0.8
- Cache-Control:
max-age=0
- Connection:
keep-alive
- Content-Length:
267
- Content-Type:
application/x-www-form-urlencoded
- Cookie:
JSESSIONID=84CC2CDB8EC04A38A077AAA598356066; BIGipServerotsweb=2329149706.48160.0000
- Host:
dynamic.12306.cn
- Origin:
https://dynamic.12306.cn
- Referer:
https://dynamic.12306.cn/otsweb/loginAction.do?method=init
- User-Agent:
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17
- ~
代码如下:
url = "https://dynamic.12306.cn/otsweb/loginAction.do?method=login";
string PostData=string.Format(@"loginRand="+loginRand+"&refundLogin=N&refundFlag=Y&isClick=&form_tk=null&loginUser.user_name=xxxxxxxxxx&nameErrorFocus=&user.password=xxxxxxxxxx&passwordErrorFocus=&randCode="+this.textEdit1.Text+"&randErrorFocus="+key+pwd+"myversion=undefined");
//string PostData = "test";
byte[] data=Encoding.Unicode.GetBytes(PostData);
HttpWebRequest ht = (HttpWebRequest)HttpWebRequest.Create(url);
ht.Method = "Post";
ht.Accept = "Accept text/html, application/xhtml+xml, */*";
ht.UserAgent = "User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
ht.ContentType = "application/x-www-form-urlencoded";
ht.Headers.Add("cookie", cookie1 + cookie2);
ht.Headers.Add("Cache-Control", "no-cache");
ht.Referer = "https://dynamic.12306.cn/otsweb/loginAction.do?method=login";
Stream newStream = ht.GetRequestStream();
newStream.Write(data, 0, data.Length);
HttpWebResponse myResponse = (HttpWebResponse)ht.GetResponse();
StreamReader reader4 = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
string content4 = reader4.ReadToEnd();
MessageBox.Show(content);
|
|