Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Twitter c#客户端由于错误417而无法发布_C#_Twitter_Webclient - Fatal编程技术网

Twitter c#客户端由于错误417而无法发布

Twitter c#客户端由于错误417而无法发布,c#,twitter,webclient,C#,Twitter,Webclient,我正在创建一个没有从头开始的twitter客户端,在家里的64位机器上,我可以发布一条很好的推文,但在我的32位笔记本电脑上,我发布推文时遇到了一个错误417 我能够很好地阅读推文,只是发布了一个问题,我在下面的文章中也提到了这个问题,一些人说,在没有任何运气的情况下停止错误的指责 System.Net.ServicePointManager.Expect100Continue = false; 我不知道下一步该怎么办还有其他人有什么想法吗?投寄代码如下 谢谢你,马特

我正在创建一个没有从头开始的twitter客户端,在家里的64位机器上,我可以发布一条很好的推文,但在我的32位笔记本电脑上,我发布推文时遇到了一个错误417

我能够很好地阅读推文,只是发布了一个问题,我在下面的文章中也提到了这个问题,一些人说,在没有任何运气的情况下停止错误的指责

        System.Net.ServicePointManager.Expect100Continue = false;
我不知道下一步该怎么办还有其他人有什么想法吗?投寄代码如下

谢谢你,马特

       string aUrl = "http://twitter.com/statuses/update.xml";

        client.Credentials = new NetworkCredential(_username, _password);

        System.Net.ServicePointManager.Expect100Continue = false;

        byte[] tweetBytes = System.Text.Encoding.UTF8.GetBytes("status=" + tweet);

        client.UploadData(aUrl,tweetBytes);

        return true;
你应该看看

此片段取自github上的twitter.cs文件

    /// <summary>
    /// Executes an HTTP POST command and retrives the information.     
    /// This function will automatically include a "source" parameter if the "Source" property is set.
    /// </summary>
    /// <param name="url">The URL to perform the POST operation</param>
    /// <param name="userName">The username to use with the request</param>
    /// <param name="password">The password to use with the request</param>
    /// <param name="data">The data to post</param> 
    /// <returns>The response of the request, or null if we got 404 or nothing.</returns>
    protected string ExecutePostCommand(string url, string userName, string password, string data) {
        System.Net.ServicePointManager.Expect100Continue = false;

        WebRequest request = WebRequest.Create(url);
        if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password)) {
            request.Credentials = new NetworkCredential(userName, password);
            request.ContentType = "application/x-www-form-urlencoded";
            request.Method = "POST";

            if (!string.IsNullOrEmpty(TwitterClient)) {
                request.Headers.Add("X-Twitter-Client", TwitterClient);
            }

            if (!string.IsNullOrEmpty(TwitterClientVersion)) {
                request.Headers.Add("X-Twitter-Version", TwitterClientVersion);
            }

            if (!string.IsNullOrEmpty(TwitterClientUrl)) {
                request.Headers.Add("X-Twitter-URL", TwitterClientUrl);
            }


            if (!string.IsNullOrEmpty(Source)) {
                data += "&source=" + HttpUtility.UrlEncode(Source);
            }

            byte[] bytes = Encoding.UTF8.GetBytes(data);

            request.ContentLength = bytes.Length;
            using (Stream requestStream = request.GetRequestStream()) {
                requestStream.Write(bytes, 0, bytes.Length);

                using (WebResponse response = request.GetResponse()) {
                    using (StreamReader reader = new StreamReader(response.GetResponseStream())) {
                        return reader.ReadToEnd();
                    }
                }
            }
        }

        return null;
    }
//
///执行HTTP POST命令并检索信息。
///如果设置了“源”属性,此函数将自动包含“源”参数。
/// 
///执行POST操作的URL
///用于请求的用户名
///用于请求的密码
///要发布的数据
///请求的响应,如果得到404或什么都没有,则为null。
受保护的字符串ExecutePostCommand(字符串url、字符串用户名、字符串密码、字符串数据){
System.Net.ServicePointManager.Expect100Continue=false;
WebRequest=WebRequest.Create(url);
如果(!string.IsNullOrEmpty(用户名)和&!string.IsNullOrEmpty(密码)){
request.Credentials=新的网络凭据(用户名、密码);
request.ContentType=“application/x-www-form-urlencoded”;
request.Method=“POST”;
如果(!string.IsNullOrEmpty(TwitterClient)){
添加(“X-Twitter-Client”,TwitterClient);
}
如果(!string.IsNullOrEmpty(TwitterClientVersion)){
添加(“X-Twitter-Version”,TwitterClientVersion);
}
如果(!string.IsNullOrEmpty(TwitterClientUrl)){
Add(“X-Twitter-URL”,TwitterClientUrl);
}
如果(!string.IsNullOrEmpty(源)){
数据+=”&source=“+HttpUtility.UrlEncode(源代码);
}
byte[]bytes=Encoding.UTF8.GetBytes(数据);
request.ContentLength=字节.Length;
使用(Stream requestStream=request.GetRequestStream()){
requestStream.Write(字节、0、字节、长度);
使用(WebResponse=request.GetResponse()){
使用(StreamReader=newstreamreader(response.GetResponseStream()){
返回reader.ReadToEnd();
}
}
}
}
返回null;
}

我知道这不是你的问题,但我会研究TweetSharp在这里找到的,谢谢,但我想从头开始创建它。学习曲线的一部分