本帖最后由 sindevil 于 2011-06-13 14:06:24 编辑

解决方案 »

  1.   

    补充说明下 无论是手动post的网页还是wcf都是挂在我本机的iis上面
      

  2.   

    只捕捉到Get 错误信息回来
      

  3.   

    用Fiddler捕捉,手动post
    Authorization Header is present: Basic c2luZGV2aWw6ODQ5NTIwODY=
    Decoded Username:Password= sindevil:84952086自动post的没有这段验证
      

  4.   

    再接昨天的问题
    我代码改成HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://api.xxxxxx.com/statuses/update.json");
                            myRequest.Method = "POST";
                            myRequest.ContentType = "application/x-www-form-urlencoded";
                            NetworkCredential myCred = new NetworkCredential(i.sign, i.pwd);
                            CredentialCache myCache = new CredentialCache();
                            myCache.Add(new Uri("http://api.xxxxxxxxx.com"), "Basic", myCred);
                            myRequest.Credentials = myCache;
                            myRequest.ContentLength = data.Length;
                            Stream newStream = myRequest.GetRequestStream();
                            newStream.Write(data, 0, data.Length);
                            newStream.Close();
                            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
                            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
                            text = reader.ReadToEnd(); 
    成功的解决了远程服务器返回错误: (401) 未经授权
    但是错误变成了HttpWebRequest遇到一个极其稀有的问题:“标头名称无效”
    依照网上的说法
    config加上  <system.net>
      <settings>
      <httpWebRequest useUnsafeHeaderParsing="true" />
      </settings>
      </system.net>结果变成远程服务器返回错误: (500) 内部服务器错误附上fildder
      

  5.   

    再接昨天的问题
    我代码改成HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://api.xxxxxx.com/statuses/update.json");
                            myRequest.Method = "POST";
                            myRequest.ContentType = "application/x-www-form-urlencoded";
                            NetworkCredential myCred = new NetworkCredential(i.sign, i.pwd);
                            CredentialCache myCache = new CredentialCache();
                            myCache.Add(new Uri("http://api.xxxxxxxxx.com"), "Basic", myCred);
                            myRequest.Credentials = myCache;
                            myRequest.ContentLength = data.Length;
                            Stream newStream = myRequest.GetRequestStream();
                            newStream.Write(data, 0, data.Length);
                            newStream.Close();
                            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
                            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
                            text = reader.ReadToEnd(); 
    成功的解决了远程服务器返回错误: (401) 未经授权
    但是错误变成了HttpWebRequest遇到一个极其稀有的问题:“标头名称无效”
    依照网上的说法
    config加上  <system.net>
      <settings>
      <httpWebRequest useUnsafeHeaderParsing="true" />
      </settings>
      </system.net>结果变成远程服务器返回错误: (500) 内部服务器错误附上fildder
      

  6.   

    没人知道吗?????????今天厦门地区csdn的帖子老是打不开 400错误郁闷啊