RestSharp:以UrlEncode在签名产生碱返回无效的字符串(RestSharp: UrlE

2019-09-16 22:39发布

我工作的Twitter客户端对win8的,使用RestSharp( http://restsharp.org/ ),我有这样的问题:当我张贴有RESTClient实现新的鸣叫

var timeLine = new RestRequest("/1/statuses/update.json", Method.POST);
var txt = "Hello world";
timeLine.AddParameter("status", txt);

一切正常外观极好,但如果我增加更多的复杂状况,如:

var txt = "Hello, World! What a nice day! #1May";
timeLine.AddParameter("status", txt);

我收到401错误。 在调试器中,我看到,在签名的基字符串,状态参数不正确。 我有:

status%3DHello%2C%2520World%21%2520What%2520a%2520nice%2520day%21%2520%231May

右线(从dev.twitter.com):

status%3DHello%252C%2520World%2521%2520What%2520a%2520nice%2520day%2521%2520%25231May

你可以看到,标点符号,!#和其他编码不正确。 我怎样才能解决这个问题? 签名基底生成和编码是在/Authenticators/OAuth/OAuthTools.cs

Answer 1:

我有同样的问题,当我显示的网站Twitter的饲料。 因此,我用这个代码将文本转换。

Regex.Replace(STR “?@(*):” @ “@http://twitter.com/# / $ 1> $ 1:!”);



文章来源: RestSharp: UrlEncode in signature base generation returns invalid string