当前位置: 首页 > 知识库问答 >
问题:

OAuth。Twitter。StatusCode:403。需要SSL。C#

勾渝
2023-03-14

我需要你的帮助!

我的代码:

 string twitterRequestTokenUrl = "http://api.twitter.com/oauth/request_token";


HttpRequestMessage request = new HttpRequestMessage();
    string data = "oauth_consumer_key=\"" + oauth_consumer_key +
                   "\", oauth_nonce=\"" + oauth_nonce +
                   "\", oauth_signature=\"" + Uri.EscapeDataString(oauth_signature) +
                   "\", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"" + oauth_timestamp +
                   "\", oauth_version=\"1.0\"";
    request.Headers.Authorization = new       System.Net.Http.Headers.AuthenticationHeaderValue("OAuth", data);
    request.RequestUri = new Uri(twitterRequestTokenUrl, UriKind.Absolute);

    request.Method = new HttpMethod("POST");    
    var response = await httpClient.SendAsync(request);

可能是什么问题,我发送一个查询:

请求{方法: POST, Request estUri:'http://api.twitter.com/oauth/request_token',版本: 1.1,内容:,标题:{授权: OAuthoauth_consumer_key="*******************", oauth_nonce="NjM1NjQwOTY0MzAzMjMwNjgw",oauth_signature="nIQIuJqRLP2naUxgC0cTHqFqUkc=",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1428485230",oauth_version="1.0"}}系统.网. Http. HttpRequest estMessage

并得到以下答案:

StatusCode: 403,原因短语:“禁止”,版本: 1.1,内容:系统。网。https。流内容,标题:{连接:关闭日期: 4月8日星期三2015 09:06:50格林威治标准时间服务器:tsa_bset-cookie:guest_id=v1:142848401049508299;域=.twitter.com;路径=/;过期=Fri,07-Apr-2017 09:06:50UTC x-conttion-hash: 407806cc38f466361aaa7e9efb2a35601 x响应时间: 5内容长度: 16内容类型:文本/纯;charset=utf-8}需要SSL

共有1个答案

阳修永
2023-03-14

正在改变

string twitterRequestTokenUrl = "http://api.twitter.com/oauth/request_token";

string twitterRequestTokenUrl = "https://api.twitter.com/oauth/request_token";

应该解决你的问题。

您看到状态代码为403的原因是“Twitter APIendpoint中只允许SSL连接”

 类似资料:
  • 我写一个oauth与twitter的代码,我有401错误代码和"失败验证oauth签名和令牌"响应从twitter当我获取后请求到https://api.twitter.com/oauth/request_token.这是我的数据,我有: 我的步骤: 1.为签名准备的字符串 2.通过代码创建签名qQwIvFao9yeIQpi9ouz0oFi7/v8=: 3.最终授权标头(带转义引号): 问那些可能

  • 我正在为自己清除一些涉及到MYSQL的远程SSL连接的信息。特别是,一旦我设置了MYSQL以启用SSL并有一个需要SSL的远程用户。 这就是我如何与需要SSL的用户远程连接(命令行)到MYSQL的方式: mysql-uMyUserName-p-h192.168.5.5-sslca/path/to/ca.pem 我的问题是:为什么我必须作为客户端提供ca.pem文件? 以下是我在服务器上安装mysq

  • 设置响应状态码(状态码范围100~999),请求会直接根据设置的状态码返回,不会请求到线上,这个与replaceStatus不同,后者是请求返回后再修改状态码,可以用于模拟各种状态码,配置方式: pattern statusCode://code 其中:code >= 100 && code <= 999,pattern参见匹配模式,更多模式请参考配置方式。 例子: www.ifeng.com

  • 我正在用Java实现oauth,顺序如下: 1) 发送帖子https://api。啁啾com/oauth/request_token(带回调)Twitter响应包含oauth_token、oauth_token_secret和oauth_callback_confirm=true 2) 正在重定向到https://api。啁啾com/oauth/authenticate?oauth_token={

  • 问题内容: 我尝试运行此命令,但它给了我这个错误。 我试图将“ extension = php_openssl.dll”添加到“ php.ini”,但仍然出现此错误 问题答案: 我也发生了同样的错误。我通过关闭Composer的TLS修复了该问题, 虽然不安全, 但是我承担了 开发机器 上的风险。 尝试这个: 并重新运行您的Composer。它对我有用! 但这是不安全的, 不建议您在Server上