WebClient的Upload GET异常问题
想在代码里向百度知道提交查询,查看百度知道首页源码发现它默认是GET,用网络封包工具分析出来的HTTP请求也是GET,
但以下代码却不能运行,提示异常
string uriString = "http://zhidao.baidu.com/q";
// 创建一个新的 WebClient 实例.
WebClient myWebClient = new WebClient();
string postData = "word=13338371398&ct=17&pn=0&tn=ikaslist&rn=10&lm=0&fr=search";
// 注意这种拼字符串的ContentType
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
// 转化成二进制数组
byte[] byteArray = Encoding.ASCII.GetBytes(postData);
// 上传数据,并获取返回的二进制数据.
try
{
byte[] responseArray = myWebClient.UploadData(uriString, "GET", byteArray);
}
catch (Exception ex)
{
Trace.WriteLine(ex.InnerException.Message);
}
输出是:无法发送具有此谓词类型的内容正文
把GET换成POST则正常,但为什么不能用UploadXXX模拟GET,我什么地方错了吗?
------解决方案--------------------
up