J'ai un WebRequest
en C# que j'essaie d'utiliser pour récupérer des données d'Instagram. WebRequest lance The remote server returned an error: (403) Forbidden.
, mais une commande cURL renvoie HTML. En pratique, mes données de formulaire POST seront plus longues et retourneront JSON.C# WebRequest mais pas cURL Donne Erreur 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;
}
Lancers erreur 403.
cURL (sous Windows)
curl "https://www.instagram.com/query/" --data "q=ig_user(1118028333)"
retours HTML.
FireFox Demande du corps, méthode = POST, sans en-tête
q=ig_user(1118028333)
retours HTML
Pourquoi l'erreur de lancer WebRequest 403, mais pas cURL ou FireFox? Que puis-je faire en C# pour obtenir des données?