2009-10-08 8 views
5

Zapytałem o numer here, jak utworzyć post https, a teraz działa poprawnie. Problem jest teraz, Jak wysłać parametr, nazwa zapytanie, wich jest ciąg json:Jak wysyłać parametry na POST z protokołem Https za pomocą C#

{ "klucz1": "value1", "klucz2": { "key21": "val21"}}

Co Robię i nie działa to:

HttpWebRequest q = (HttpWebRequest)WebRequest.Create(Host + ":" + Port); 
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications); 
q.Method = "POST"; 
q.ContentType = "application/json"; 
q.Headers.Add("JSON-Signature", GetFirma(query)); 
q.Credentials = new NetworkCredential(user,pass); 

byte[] buffer = Encoding.UTF8.GetBytes("query=" + query); 

q.ContentLength = buffer.Length; 

using (Stream stream = q.GetRequestStream()) 
{ 
    stream.Write(buffer, 0, buffer.Length);      
} 

Ale serwer zawsze odpowiada, że ​​nie ma parametru "zapytanie". Jakaś pomoc?

Z góry dziękuję!

+0

Nie serwer może oczekiwać parametr zapytania w adresie URL? takie jak http: // host /? zapytanie = xyz – Lucero

+0

Tego nie wiem, jako jedyny przykład dostarczony przez programistów serwera na php (kod w pierwszym pytaniu) –

+0

Zobacz też: http: //marcgravell.blogspot .com/2009/10/pass-data-simply-learning-from-jquery.html –

Odpowiedz

9

użyłbym WebClient.UploadValues:

 using (WebClient client = new WebClient()) 
     { 
      NameValueCollection fields = new NameValueCollection(); 
      fields.Add("query", query); 
      byte[] respBytes = client.UploadValues(url, fields); 
      string resp = client.Encoding.GetString(respBytes); 
     } 
+0

Dzięki Mark, ale otrzymuję taką samą odpowiedź jak przy moim kodzie. Spróbuję ponownie zapytać programistów serwerów o więcej informacji zwrotnych. –

+0

Cóż, próbowałem go lokalnie i działa świetnie, więc muszą być pewne problemy ze zgodnością lub coś podobnego. –

+0

Czy ten kod nie powinien zostać wysłany dwukrotnie? Dzwonisz do klienta.UploadValues ​​(adres URL, pola); dwa razy. –

Powiązane problemy