本文介绍了Facebook Oembed使用UserAgent和Referrer返回HttpRequestMessage的不受支持的浏览器页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
从ASP.Net Core MVC应用程序中,我尝试使用本地计算机上的服务器端请求从Facebook提取OEmbed JSON,但仍得到不支持的浏览器页面.我还需要通过什么?
From my ASP.Net Core MVC app, I am trying to fetch OEmbed JSON from Facebook using server-side request from my local machine, but I'm still getting an unsupported browser page. What else do I need to pass?
oEmbedUrl是""> https://www.facebook.com/plugins/post/oembed.json/?url = "+帖子网址.
oEmbedUrl is "https://www.facebook.com/plugins/post/oembed.json/?url=" + a post URL.
var request = new HttpRequestMessage(HttpMethod.Get, oEmbedUrl);
request.Headers.AcceptLanguage.TryParseAdd("en");
request.Headers.UserAgent.TryParseAdd("Mozilla / 5.0(Windows; U; WindowsNT 5.1; en - US; rv1.8.1.6) Gecko / 20070725 Firefox / 2.0.0.6");
request.Headers.Referrer = new Uri("http://www.google.com");
request.Headers.TransferEncoding.TryParseAdd("gzip");
request.Headers.TransferEncoding.TryParseAdd("deflate");
var client = _clientFactory.CreateClient();
var response = await client.SendAsync(request);
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
推荐答案
我做了一个简单的测试,它似乎可以工作.确保帖子是公开的,并且所有参数都经过URL编码.
I did a simple test and it seems to work. Make sure the post is public and all parameters are URL encoded.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"https://www.facebook.com/plugins/video/oembed.json/?url=https%3A%2F%2Fwww.facebook.com%2Ffacebook%2Fvideos%2F10153231379946729%2F");
request.UserAgent = "Mozilla / 5.0(Windows; U; WindowsNT 5.1; en - US; rv1.8.1.6) Gecko / 20070725 Firefox / 2.0.0.6";
request.Referer = "http://www.google.com";
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
string json = reader.ReadToEnd();
}
这篇关于Facebook Oembed使用UserAgent和Referrer返回HttpRequestMessage的不受支持的浏览器页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!