Hallo Ich versuche, ein 3rd-Party-Rast Service mit VS2010 .net und dies ist Beispiel für cURL Befehl zu verbrauchen einige Daten von diesem Service zu erhalten:Wie konvertiert man den Curl-Befehl in HttpWebRequest in .net?
curl -k --header "X-Authorization: authorizationString" -G -X GET -d 'message' https://WebsiteAddress.com/api/command/914
- Wie Parameter einstellen -G-X - BEKOMMEN?
- Wie -H Header-Parameter zu --header ändern? Oder muss ich das tun?
Das ist, was ich bisher habe: diese
using(WebClient webClient = new WebClient())
{
webClient.Headers.Add("X-Authorization", "authorizationString");
string response = webClient.DownloadString("https://WebsiteAddress.com/api/command/914?message");
}
Lesen: curl.haxx.se/docs/manpage.html
Sie versuchen, eine Verbindung herzustellen HTTP GET
string authorizationString = "bla bla";
string message = "my Message";
string url = "https://WebsiteAddress.com/api/command/914";
var req = (HttpWebRequest)WebRequest.Create(url);
req.ContentType = "application/json";
req.Method = "Get";
req.Headers.Add("X-Authorization", authorizationString);
//bypassing untrusted certificate
//if DUBUG
ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };
//end DEBUG
using (var PostData = new StreamWriter(req.GetRequestStream()))
{
PostData.Write(message);
PostData.Flush();
}
var response = (HttpWebResponse)req.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
//TO DO:
}
Es sieht aus wie die Nachricht sollte in URL-Zeichenfolge sein, so was ich habe dies ändern: string message = "meine Nachricht"; string url = "https://WebsiteAddress.com/api/command/914"; dafür: string message = "meine Nachricht"; Zeichenfolge url = "https://WebsiteAddress.com/api/command/914" + Nachricht; Dann entfernen Sie mit (var PostData = new StreamWriter (req.GetRequestStream())) { PostData.Write (Nachricht); PostData.Flush(); } dies und es begann zu arbeiten; – Czarkek