2016-05-12 12 views
0

ich bin neu in C#, möchte ich folgende curl Anruf in meinem C# machen (in Perl-i Verwendung Systemaufruf directy wird curl Anfrage an MKE)Konvertieren curl http Anfrage und bekommen die Antwort in C#

curl 'http://shop.nordstrom.com/soajax/storeavailability?postalCode=90067&radius=100' -H 'Origin: http://shop.nordstrom.com' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/49.0.2623.108 Chrome/49.0.2623.108 Safari/537.36' -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'Referer: http://shop.nordstrom.com/s/cece-by-cynthia-steffe-jackie-cold-shoulder-fit-flare-dress/4261930' --data-binary '{"SameDayDeliveryStoreNumber":0,"styleSkus":[{"StyleId":4261930,"SkuIds":[32882914,32877390,32877377,32882917,32882922,32882926,32877379,32882887,32882891,32877382,32882897,32882902,32882907,32882909]}],"RefreshSameDayDeliveryStore":true}' --compressed 

Zuerst, wie könnte ich alle Parameter zu http ändern, so dass ich die Antwort in meinem Browser anzeigen kann

Dann kann ich einen cURL-Aufruf in eine HTTP-Anfrage konvertieren? Wenn das so ist, wie? Wenn nicht, wie kann ich den obigen cURL Anruf von meinem C# Programm machen, also werde ich Antwort richtig erhalten?

+0

Mögliches Duplikat [einen cURL Aufruf in C# zu machen] (http://stackoverflow.com/questions/7929013/making-a-curl-call-in-c -Scharf) –

Antwort

1

Nur stellt ein HttpWebRequest:

var url = "http://shop.nordstrom.com/soajax/storeavailability?postalCode=90067&radius=100"; 
var request = (HttpWebRequest)WebRequest.Create(url); 
request.Method = WebRequestMethods.Http.Post; 
request.Headers["origin"] = "http://shop.nordstrom.com"; 
request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate; 
request.Headers["Accept-Language"] = "en-US,en;q=0.8"; 
request.UserAgent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/49.0.2623.108 Chrome/49.0.2623.108 Safari/537.36"; 
request.ContentType = "application/json"; 
request.Accept = "application/json"; 
request.Referer = "http://shop.nordstrom.com/s/cece-by-cynthia-steffe-jackie-cold-shoulder-fit-flare-dress/4261930"; 
using (var writer = new StreamWriter(request.GetRequestStream())) 
{ 
    writer.Write("{\"SameDayDeliveryStoreNumber\":0,\"styleSkus\":[{\"StyleId\":4261930,\"SkuIds\":[32882914,32877390,32877377,32882917,32882922,32882926,32877379,32882887,32882891,32877382,32882897,32882902,32882907,32882909]}],\"RefreshSameDayDeliveryStore\":true}"); 
} 

var response = request.GetResponse(); 
using (var reader = new StreamReader(response.GetResponseStream())) 
{ 
    var json = reader.ReadToEnd(); 
    // do stuffs... 
} 
Verwandte Themen