J'ai un pdf avec une description de l'API. Je dois me connecter à leur webservice. Webservice est basé sur le protocole REST. Pour me connecter à ce webservice, je dois appeler l'URL comme suit: http://api.webepartners.pl/wydawca/Authorize?login=test&password=passComment se connecter à WebService avec le protocole REST
J'ai un compte et un mot de passe. Lorsque je remplace test et passe avec mon login et psw et passé url dans webbrowser il semble que c'est ok. Aucune erreur ne se produit. Mais je dois le faire par programmation en C#. dans google j'ai trouvé: http://developer.yahoo.com/dotnet/howto-rest_cs.html
J'essaie ce code:
Uri address = new Uri(@"http://api.webepartners.pl/wydawca/Authorize");
// Create the web request
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
// Set type to POST
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
// Create the data we want to send
//string appId = "YahooDemo";
//string context = "Italian sculptors and painters of the renaissance"
// + "favored the Virgin Mary for inspiration";
//string query = "madonna";
string userName = "mylogin";
string passsword = "mypassword";
StringBuilder data = new StringBuilder();
//data.Append("appid=" + HttpUtility.UrlEncode(appId));
//data.Append("&context=" + HttpUtility.UrlEncode(context));
//data.Append("&query=" + HttpUtility.UrlEncode(query));
data.Append("login=" + HttpUtility.UrlEncode(userName));
data.Append("&password=" + HttpUtility.UrlEncode(passsword));
// Create a byte array of the data we want to send
byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
// Set the content length in the request headers
request.ContentLength = byteData.Length;
// Write data
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) // error
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
}
et je me suis erreur dans la ligne en utilisant (réponse HttpWebResponse = request.GetResponse() comme ..
An exception of type 'System.Net.WebException' occurred in System.dll but was not handled in user code
Additional information: The remote server returned an error: (405) Method Not Allowed.
quelqu'un peut-il me aider?
Merci
Ok, ça marche. Mais maintenant je dois obtenir l'information suivante: http: //api.webepartners.pl/wydawca/Auctions? From = date. Donc je dois créer une deuxième requête? Quoi avec autorisation? – Robert
Je n'ai plus de documentation. Je crée des cookies CookieContainer = new CookieContainer(); et attribuez-le à myHttpWebRequest.CookieContainer = cookies; Je peux voir que le cookie est ajouté, puis je crée myHttpWebRequest1 avec une nouvelle URL et assène myHttpWebRequest1.CookieContainer = cookies; mais quand j'appelle HttpWebResponse myHttpWebResponse1 = (HttpWebResponse) myHttpWebRequest1.GetResponse(); J'ai une erreur: ... Interdit. L'authentification est donc incorrecte. – Robert
Selon les informations fournies, il est difficile de dire où se situe le problème. Pouvez-vous utiliser un moniteur réseau pour tracer la communication entre le client et le serveur et afficher les demandes et les réponses transmises? – Codo