The remote server returned an error: (417) Expectation failed
今天利用twitter的search api做个搜索,做了个小demo。新建了个项目,直接在test页面的Page_Load里面写下了如下测试代码。
protected void Page_Load(object sender, EventArgs e)
{
string urlPost = "http://search.twitter.com/search.json";
string postData = "q=twitterapi";
UTF8Encoding encoding = new UTF8Encoding();
byte[] byteData = encoding.GetBytes(postData);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlPost);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteData.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(byteData, 0, byteData.Length);
requestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
Response.Write("Response stream received.");
Response.Write(readStream.ReadToEnd());
response.Close();
readStream.Close();
}
可惜出现了“The remote server returned an error: (417) Expectation failed”的错误。
开始以为是“长城防火墙”的关系,可是连上vpn后还是一样,于是去网上找解决办法,终于然我找到了原因所在。
“该错误可能是客户端网络环境引起的(don't support "100 continue" expectation),在程序的配置文件中加上下面部分试试。” 原文地址:http://0e2.net/post/1184.html
<configuration>
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
</configuration>
测试,成功!!

浙公网安备 33010602011771号