API post isteğine 403 forbidden dönüyor

Nereqla

Megapat
Katılım
21 Ağustos 2017
Mesajlar
319
Çözümler
6
HttpClient üzerinden post isteği gönderdiğimde geriye 403 forbidden alıyorum. Diyebilirsiniz sorguda vs bir hata vardır veya api problemdir ancak bunda sorun yok çünkü aynı sorguyu Insomnia (postman benzeri bir sorgulama uygulaması) uygulaması üzerinden yaptığımda 200 kodu ile istediğim geri dönüşü API'dan alabiliyorum.



Koddaki karşılığını ise şöyle yazdım;

C#:
public class PostCookieContent
{
    public string client_id { get; set; }
    public string nonce { get; set; }
    public string redirect_uri { get; set; }
    public string response_type { get; set; }
}

C#:
PostCookieContent body = new PostCookieContent()
{
    client_id = "play-valorant-web-prod",
    nonce = "1",
    redirect_uri = "https://playvalorant.com/opt_in",
    response_type = "token id_token"
};

string json = JsonConvert.SerializeObject(body);

var httpContent = new StringContent(json.ToString(), Encoding.UTF8, "application/json");

string api_url = "https://auth.riotgames.com/api/v1/authorization";

var response = client.PostAsync(api_url, httpContent).Result;


Sonuç



Nerede hata yapıyorum bir türlü çözemedim.


Güncelleme:
Sorunu çözmüş bulunmaktayım. Nasıl çözdüğümü soracak olursanız da birden bire ben bu istekleri bir yerde yakalayabilir miyim acaba karşı tarafa ne gidiyor da problem çıkarıyor diye düşünürken şu siteyi keşfettim Webhook.site - Test, process and transform emails and HTTP requests

Bu sitenin size özel oluşturduğu URL adresine sorgularınızı gönderiyorsunuz ve kendisine gelen istekleri yakalayıp size sunuyor böylece karşı tarafa ne gönderdiğinizi öğrenmiş oluyorsunuz.
Peki gelelim hataya.

Konuda da yazdığım şekilde
C#:
var httpContent = new StringContent(json.ToString(), Encoding.UTF8, "application/json");
StringContent ile Content Type belirlerken StringContent methodunun 3. parametresine tip göndermeme bunu da almasına rağmen bir şekilde içerik tipini json olarak algılamıyor sorguyu düz metin olarak gönderiyor.




Ben de kodu şu şekilde güncelledim.
C#:
var httpContent = new StringContent(json.ToString());
httpContent.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json");

Gece 3:45 de mutlu son

 
Merhaba, acaba kodları paylaşma şansınız var mı?
 
Konu nedir? Sorunu çözdüm ben, zaten çözümü konuda da belirttim ki üstünden çok geçti kodları ne yapacaksınız?
Benimkilerle karşılaştırıcaktım, Bi türlü yapamadım

Access token falan alıyorum, fakat /store/v2/storefront/{puuid} endpoint'e istek atıyorum. 403 dönüyor
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…