2015-04-08 3 views
0

Мне нужна ваша помощь!OAuth. Twitter. StatusCode: 403. Требуется SSL. C#

Мой код:

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, RequestUri: 'http://api.twitter.com/oauth/request_token', Версия: 1.1 Содержание: , заголовки: {Авторизация: OAuth oauth_consumer_key = "*******************", oauth_nonce = "NjM1NjQwOTY0MzAzMjMwNjgw", oauth_signature = "nIQIuJqRLP2naUxgC0cTHqFqUkc% 3D", oauth_signature_method = "HMAC-SHA1", oauth_timestamp = "1428485230", oauth_version = "1,0"}} System.Net.Http.HttpRequestMessage

и получить следующий ответ:

StatusCode: 403, ReasonPhrase: 'Forbidden', Версия: 1.1, Контент: System.Net.Http.StreamContent, Заголовки: {соединение: дата закрытия: ср., 08 апр 2015 09:06:50 GMT сервер: tsa_b set-cookie: guest_id = v1% 3A142848401049508299; Домен = .twitter.com; Path = /; Истекает = Пт, 07-апр-2017 09:06:50 UTC x-connection-hash: 407806cc38f466361aa7e9efb2a35601 x-response-time: 5 Content-Length: 16 content-type: text/plain; кодировка = UTF-8} SSL требуется

+1

Попробуйте изменить ваш 'twitterRequestTokenUrl' использовать«HTTPS»вместо HTTP –

+0

СПАСИБО ТАК МНОГО !!! ЭТО РАБОТАЕТ!!! – user3588235

+0

Добро пожаловать! Пожалуйста, примите ответ, если он вам поможет. Ура! –

ответ

0

изменения

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

в

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

должно решить проблему.

Причина вы видите код состояния 403, так как «only SSL connections are allowed in Twitter API endpoints»

Смежные вопросы