У меня есть WebRequest
в C#, который я пытаюсь использовать для извлечения данных из Instagram. WebRequest выбрасывает The remote server returned an error: (403) Forbidden.
, но команда cURL возвращает HTML. На практике мои данные формы POST будут длиннее и возвратят JSON.C# WebRequest, но не cURL Дает ошибку 403
C#
String uri = "https://www.instagram.com/query/";
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
string postData = "q=ig_user(1118028333)";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] byte1 = encoding.GetBytes(postData);
// Set the content type of the data being posted.
request.ContentType = "application/x-www-form-urlencoded";
// Set the content length of the string being posted.
request.ContentLength = byte1.Length;
using (var dataStream = request.GetRequestStream())
{
dataStream.Write(byte1, 0, byte1.Length);
}
try
{
var x = (HttpWebResponse)request.GetResponse();
}
catch (WebException wex)
{
String wMessage = wex.Message;
}
Выдает ошибку 403.
Curl (в Windows)
curl "https://www.instagram.com/query/" --data "q=ig_user(1118028333)"
Возвращает HTML.
FireFox Тело запроса, метод = POST, без заголовков
q=ig_user(1118028333)
Возвращает HTML
Почему бы WebRequest ошибка броска 403, но не завиток или FireFox? Что еще я могу сделать на C# для получения данных?